Submission #1248762

#TimeUsernameProblemLanguageResultExecution timeMemory
1248762arashmemarSelf Study (JOI22_ho_t2)C++20
62 / 100
198 ms5116 KiB
#include <bits/stdc++.h> using namespace std; const int maxn = 3e5 + 100; long long int a[maxn], b[maxn], n, m; void tl() { while (true) { int lksjfdj = 1; } } bool check(long long int l) { __int128 d = 0; for (int i = 1;i <= n;i++) { long long int x = a[i] * m; if (x > l) { d += (x - l) / a[i]; } if (x < l) { if (b[i] == 0) { return 0; } d -= ((l - x + b[i] - 1) / b[i]); } } return d >= 0; } int main() { 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]); } long long int l = 0, r = 1e18 + 1; while (r - l > 1) { long long int mid = (l + r) / 2; if (check(mid)) { l = mid; } else { r = mid; } } cout << l; }
#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...