Submission #630523

#TimeUsernameProblemLanguageResultExecution timeMemory
630523Ooops_sorrySelf Study (JOI22_ho_t2)C++14
100 / 100
264 ms9252 KiB
#include<bits/stdc++.h> using namespace std; mt19937 rnd(51); #define ll long long #define pb push_back #define ld long double const ll INF = 1e18 + 100; signed main() { #ifdef LOCAL freopen("input.txt", "r", stdin); #endif // LOCAL ios_base::sync_with_stdio(0); cin.tie(0); int n, m; cin >> n >> m; vector<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]; } ll l = 0, r = INF; while (r - l > 1) { ll mid = (r + l) / 2, need = 0, free = 0; for (int i = 0; i < n; i++) { if (a[i] > b[i]) { if ((ll)a[i] * m < mid) { need += (mid - (ll)a[i] * m + b[i] - 1) / b[i]; need = min(need, INF); } else { free += m - (mid + a[i] - 1) / a[i]; } } else { need += (mid + b[i] - 1) / b[i]; need = min(need, INF); free += m; } } if (need <= free) { l = mid; } else { r = mid; } } cout << l << endl; 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...