Submission #1018840

#TimeUsernameProblemLanguageResultExecution timeMemory
1018840vjudge1Self Study (JOI22_ho_t2)C++17
100 / 100
104 ms5164 KiB
#include "bits/stdc++.h" #define int long long using namespace std; template <typename _T> bool chmin(_T &a, const _T &b) { if (a > b) { a = b; return true; } return false; } template <typename _T> bool chmax(_T &a, const _T &b) { if (a < b) { a = b; return true; } return false; } signed main() { cin.tie(nullptr)->sync_with_stdio(false); int n, m; cin >> n >> m; vector<int> a(n); for(auto &x : a){ cin >> x; } vector<int> b(n); for(auto &x : b){ cin >> x; } for(int i = 0; i < n; i++){ a[i] = max(a[i], b[i]); } auto check = [&](int val) { int cnt = 0; for (int i = 0; i < n; i++) { if (a[i] * m >= val) { cnt += ((val - 1) / a[i] + 1); } else { if (val > m * a[i]) { cnt += (m + (val - m * a[i] - 1) / b[i] + 1); } else { cnt += m; } } if (cnt > m * n) return false; } return cnt <= m * n; }; int l = 0, r = 2e18; while (l + 1 < r) { int mid = l + (r - l) / 2; if (check(mid)) { l = mid; } else { r = mid; } } cout << l << "\n"; }
#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...