Submission #1164297

#TimeUsernameProblemLanguageResultExecution timeMemory
1164297ChottuFSelf Study (JOI22_ho_t2)C++20
100 / 100
277 ms5104 KiB
#include <bits/stdc++.h> using namespace std; signed main(){ long long n,m; cin >> n >> m; long long a[n], b[n]; for (long long i = 0; i<n; i++){ cin >> a[i]; } for (long long i = 0; i<n; i++){ cin >> b[i]; a[i] = max(a[i],b[i]); } long long lo = 0; long long hi = 1e18; long long ans = lo; long long mid; while (lo <= hi){ mid = (lo+hi)/2; //check mid __int128 net = 0; for (long long i = 0; i<n; i++){ long long ss = (mid+a[i]-1)/a[i]; if (ss <= m){ net += m-ss; } else{ long long cpy = mid; cpy -= m * a[i]; net -= (cpy+b[i]-1)/b[i]; } } if (net >= 0){ ans = max(ans, mid); lo = mid + 1; } else{ hi = mid - 1; } } cout << ans; 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...