Submission #1213470

#TimeUsernameProblemLanguageResultExecution timeMemory
1213470Hamed_GhaffariSelf Study (JOI22_ho_t2)C++20
100 / 100
177 ms2868 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; const int MXN = 3e5+5; int n, m, a[MXN], b[MXN]; int32_t main() { cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(0); 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=1e18, mid; r++; while(r-l>1) { mid = (l+r)>>1; ll dif=0; for(int i=1; i<=n; i++) if(b[i]>=a[i]) { if(1ll*b[i]*m>=mid) dif += m - (mid+b[i]-1)/b[i]; else dif -= (mid-1ll*b[i]*m+b[i]-1)/b[i], dif = max(dif, -1ll*n*m-1); } else if(1ll*a[i]*m>=mid) dif += m - (mid+a[i]-1)/a[i]; else dif -= (mid-1ll*a[i]*m+b[i]-1)/b[i], dif = max(dif, -1ll*n*m-1); (dif>=0 ? l : r) = mid; } cout << l << '\n'; return 0; }
#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...