Submission #729267

#TimeUsernameProblemLanguageResultExecution timeMemory
729267tch1cherinSelf Study (JOI22_ho_t2)C++17
100 / 100
260 ms8580 KiB
#include <bits/stdc++.h> using namespace std; const long long MAX_ANSWER = 2e18 + 5; void solve() { int n, m; cin >> n >> m; vector<int> a(n), b(n); for (int &v : a) { cin >> v; } for (int &v : b) { cin >> v; } long long l = -1, r = MAX_ANSWER; while (r > l + 1) { long long mid = (l + r) / 2; long long req = 0; for (int i = 0; i < n; i++) { if (a[i] <= b[i]) { req += 1ll * (mid + b[i] - 1) / b[i]; } else { if (1ll * a[i] * m < mid) { req += m + 1ll * (mid - 1ll * a[i] * m + b[i] - 1) / b[i]; } else { req += 1ll * (mid + a[i] - 1) / a[i]; } } req = min(req, MAX_ANSWER); } if (req > 1ll * n * m) { r = mid; } else { l = mid; } } cout << l << "\n"; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); solve(); }
#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...