Submission #1187346

#TimeUsernameProblemLanguageResultExecution timeMemory
1187346maxFedorchukSelf Study (JOI22_ho_t2)C++20
100 / 100
193 ms5112 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; ll n, m; vector<ll> a, b; bool F(ll x){ ll r = 0; for(int i = 0; i < n; i++){ if(x <= a[i] * m) r += (x + a[i] - 1) / a[i]; else r += m + (x - a[i] * m + b[i] - 1) / b[i]; if(r > n * m) return 0; } return 1; } int main(){ cin >> n >> m; a.resize(n); b.resize(n); for(int i = 0; i < n; i++) cin >> a[i]; for(int i = 0; i < n; i++) cin >> b[i]; for(int i = 0; i < n; i++) a[i] = max(a[i], b[i]); ll lx = 0, rx = 1LL << 60; while(rx - lx > 1){ ll mid = (rx + lx) / 2; if(F(mid)) lx = mid; else rx = mid; } cout << lx; }
#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...