Submission #1320508

#TimeUsernameProblemLanguageResultExecution timeMemory
1320508zyntherixSelf Study (JOI22_ho_t2)C++20
100 / 100
207 ms5116 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define int2 __int128 #define pi pair<int, int> #define vi vector<int> #define vs vector<string> #define vb vector<bool> #define vpi vector<pi> #define pb push_back #define all(a) (a).begin(), (a).end() const int mod = 1e9 + 7; void solve() { int n, m; cin >> n >> m; int a[n], b[n]; for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 0; i < n; i++) { cin >> b[i]; } int l = 0; int r = 1e9; auto ok = [&](int x) { int2 cnt = 0; for (int i = 0; i < n; i++) { int2 mx = max(a[i], b[i]); if (mx * m >= x) { cnt += (x / mx) + (x % mx != 0); } else { cnt += m; cnt += ((x - (mx * m)) / b[i]) + ((x - (mx * m)) % b[i] != 0); } } return cnt <= (n * m); }; while (ok(r)) r *= 2; while (l + 1 < r) { int m = (l + r) / 2; if (ok(m)) { l = m; } else { r = m; } } cout << l << '\n'; } signed main() { ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); int t = 1; // cin >> t; while (t--) { solve(); } return 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...