Submission #886969

#TimeUsernameProblemLanguageResultExecution timeMemory
886969stefanneaguSelf Study (JOI22_ho_t2)C++17
0 / 100
270 ms5200 KiB
#include <bits/stdc++.h> #define int long long using namespace std; const int nmax = 3e5 + 1; int a[nmax], b[nmax], n, m; bool check(int goal) { int cnt = 0; for(int i = 1; i <= n; i ++) { if(a[i] * m >= goal) { cnt += (goal + a[i] - 1) / a[i]; } else { cnt += m + (goal - a[i] * m + b[i] - 1) / b[i]; } } return (cnt <= m * n); return 1; } int32_t main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n >> m; for(int i = 1; i <= n; i ++) { cin >> a[i]; } for(int i = 1; i <= n; i ++) { cin >> b[i]; a[i] = max(a[i], b[i]); } int l = 0, r = 1e18, ans = 0; while(l <= r) { int mid = (l + r) / 2; if(check(mid) == true) { ans = mid; l = mid + 1; } else { r = 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...