Submission #527683

#TimeUsernameProblemLanguageResultExecution timeMemory
5276838e7Self Study (JOI22_ho_t2)C++17
100 / 100
236 ms9552 KiB
//Challenge: Accepted #include <bits/stdc++.h> using namespace std; #ifdef zisk void debug(){cout << endl;} template<class T, class ... U> void debug(T a, U ... b){cout << a << " ", debug(b...);} template<class T> void pary(T l, T r) { while (l != r) cout << *l << " ", l++; cout << endl; } #else #define debug(...) 0 #define pary(...) 0 #endif #define ll long long #define maxn 300005 #define pii pair<int, int> #define ff first #define ss second #define io ios_base::sync_with_stdio(0);cin.tie(0); ll a[maxn], b[maxn]; int main() { io ll n, m; cin >> n >> m; for (int i = 0;i < n;i++) cin >> a[i]; for (int i = 0;i < n;i++) cin >> b[i]; ll low = 0, up = 1LL<<60; while (low < up - 1) { ll mid = (low + up) / 2, cnt = 0; for (int i = 0;i < n;i++) { if (b[i] >= a[i]) cnt += (mid + b[i] - 1) / b[i]; else { if (mid > m * a[i]) cnt += m + (mid - m*a[i] + b[i] - 1) / b[i]; else cnt += (mid + a[i] - 1) / a[i]; } if (cnt > n * m) break; } if (cnt > n * m) up = mid; else low = mid; } cout << low << endl; }
#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...