Submission #1018827

#TimeUsernameProblemLanguageResultExecution timeMemory
1018827vjudge1Self Study (JOI22_ho_t2)C++17
100 / 100
228 ms5120 KiB
#include <bits/stdc++.h> #define int long long using namespace std; signed main() { int n, m; cin >> n >> m; vector <int> a(n), b(n); int mx = 0; for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 0; i < n; i++) { cin >> b[i]; } auto check = [&](int p) { int t = 0; for (int i = 0; i < n; i++) { if (b[i] > a[i]) { int B = (p + b[i] -1) / b[i]; t += B; } else { if (a[i] * 1ll * m >= p) { int A = (p + a[i] - 1) / a[i]; t += A; } else { int A = m; int B = (p - a[i] * 1ll * A + b[i] -1) / b[i]; t += A + B; } } if(t > n * 1ll * m) return false; } if(t <= n * 1ll * m) return true; else return false; }; int l = 0, r = 1e18 + 5; while (r - l > 1) { int mid = (l + r) >> 1; if (check(mid)) { l = mid; } else { r = mid; } } if(check(r)) cout << r <<"\n"; else cout << l << "\n"; }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:8:6: warning: unused variable 'mx' [-Wunused-variable]
    8 |  int mx = 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...