Submission #1299967

#TimeUsernameProblemLanguageResultExecution timeMemory
1299967kantaponzSelf Study (JOI22_ho_t2)C++20
100 / 100
119 ms5128 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long ll N, M; ll A[300005], B[300005]; ll ceilD(ll a, ll b) { if (a % b == 0) { return a / b; } return (a / b) + 1LL; } int main() { ios_base::sync_with_stdio(0), cin.tie(0); 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]); ll l = 1, r = 1e18; while (l <= r) { ll mid = (l + r) >> 1; ll hp = mid; ll X = 0, Y = 0; ll cnt = 0; for (int i = 1; i <= N; i++) { ll m = ceilD(mid, A[i]); if (m <= M) { cnt += m; } else { hp = mid - A[i] * M; cnt += M + ceilD(hp, B[i]); } if (cnt > N * M) break; } if ((cnt <= N * M)) { l = mid + 1; } else { r = mid - 1; } } cout << r; }
#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...