Submission #1277580

#TimeUsernameProblemLanguageResultExecution timeMemory
1277580nanaseyuzukiSelf Study (JOI22_ho_t2)C++20
100 / 100
96 ms5128 KiB
#include <bits/stdc++.h> // Author: Kazuki_Will_Win_VOI_8703 #define fi first #define se second #define pii pair<int, int> #define int long long #define all(a) a.begin(), a.end() using namespace std; const int mn = 3e5 + 5, inf = 1e18; int n, m, a[mn], b[mn]; bool check(int val){ int lef = n * m; for(int i = 1; i <= n; i++){ int Megumi = max(a[i], b[i]); if(val <= Megumi * m) lef -= (val + Megumi - 1) / Megumi; else{ int cur = val - Megumi * m; lef -= m + (cur + b[i] - 1) / b[i]; } if(lef < 0) return false; } return true; } void solve(){ cin >> n >> m; for(int i = 1; i <= n; i++) cin >> a[i]; for(int i = 1; i <= n; i++) cin >> b[i]; int l = 1, r = 1e18, ans = -1; while(l <= r){ int mid = (l + r) >> 1; if(check(mid)){ ans = mid; l = mid + 1; } else r = mid - 1; } cout << ans << '\n'; } signed main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int t = 1; // cin >> t; while(t--) solve(); }
#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...