Submission #886946

#TimeUsernameProblemLanguageResultExecution timeMemory
886946stefanneaguSelf Study (JOI22_ho_t2)C++17
0 / 100
426 ms11088 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 nrm) { int cnt = 0; for(int i = 1; i <= n; i ++) { // cout << "Suntem la " << i << endl; if(a[i] <= b[i]) { // cout << "e mai mare b-ul, deci folosim "; int cntn = 0; cnt += nrm / b[i]; cntn += nrm / b[i]; if(nrm % b[i] != 0) { cnt ++; cntn ++; } // cout << cntn << endl << endl; } else { // cout << "e mai mare a-ul, deci folosim "; int nrai = nrm / a[i]; if(nrm % a[i] != 0) { nrai ++; } // cout << " nrai = " << nrai << " si al final "; int cntn = 0; if(nrai <= m) { cnt += nrai; cntn += nrai; } else { nrai = m; int rm = nrm - a[i] * nrai; cnt += rm / b[i]; cnt += nrai; cntn += rm / b[i]; cntn += nrai; if(rm % b[i] != 0) { cnt ++; cntn ++; } } // cout << cntn << endl << endl; } } // cout << "Cnt final: " << cnt << endl; return (cnt <= n * m); } 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]; } 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...