Submission #1302157

#TimeUsernameProblemLanguageResultExecution timeMemory
1302157nathlol2Self Study (JOI22_ho_t2)C++20
0 / 100
140 ms5148 KiB
#include <bits/stdc++.h> #define int long long using namespace std; const int N = 333333; int n, m, a[N], b[N]; int _div(int _a, int _b){ if(_a % _b) return _a / _b + 1; return _a / _b; } bool ok(int x){ int cnt = 0; for(int i = 1;i<=n;i++){ int c = _div(x, max(a[i], b[i])); c = min(c, m); cnt += c; if(max(a[i], b[i]) * m < x){ cnt += _div(x - m * max(a[i], b[i]), b[i]); } } return cnt <= n * m; } signed main(){ ios_base::sync_with_stdio(false); cin.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 = 1, r = 4e18, ans = 1; while(l <= r){ int md = (l + r) / 2; if(ok(md)){ ans = md; l = md + 1; }else{ r = md - 1; } } cout << ans; }
#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...