Submission #991175

#TimeUsernameProblemLanguageResultExecution timeMemory
991175OtalpSelf Study (JOI22_ho_t2)C++14
100 / 100
261 ms11556 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define int ll ll a[300100]; ll b[300100]; ll n, m; bool check(ll x){ __int128 h = 0; //cout<<x<<' '; for(int i=1; i<=n; i++){ if(a[i] > b[i]){ if(m * a[i] < x){ h += m; h += (x - m * a[i] - 1) / b[i] + 1; } else{ h += (x - 1) / a[i] + 1; } } else{ h += (x - 1) / b[i] + 1; } } //cout<<h<<'\n'; return h <= m*n; } void solve(){ cin>>n>>m; for(int i=1; i<=n; i++){ cin>>a[i]; } for(int i=1; i<=n; i++){ cin>>b[i]; } ll l=0, r=2e18; while(l < r){ ll mid=(l+r)/2; if(check(mid)) l = mid + 1; else r = mid; } cout<<r - 1; } signed main(){ solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...