Submission #1248657

#TimeUsernameProblemLanguageResultExecution timeMemory
1248657arashmemarSelf Study (JOI22_ho_t2)C++20
0 / 100
187 ms5112 KiB
#include <bits/stdc++.h> using namespace std; const int maxn = 3e5; long long int a[maxn], b[maxn], n, m; bool check(long long int l) { long long int dif = 0; for (int i = 1;i <= n;i++) { long long int x = a[i] * m; if (x > l) { dif += (x - l) / a[i]; } if (x < l) { dif -= (l - x + b[i] - 1) / b[i]; } } return dif >= 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...