제출 #734407

#제출 시각아이디문제언어결과실행 시간메모리
734407JosiaSelf Study (JOI22_ho_t2)C++17
0 / 100
542 ms5068 KiB
#include <bits/stdc++.h> using namespace std; #define int int64_t int n, m; bool check(int pos, vector<int>&a, vector<int>&b) { int free = 0; int req = 0; for (int i=0; i<n; i++) { int thisNeedsFromA = (pos+a[i]-1)/a[i]; if (thisNeedsFromA <= m) { free += m-thisNeedsFromA; } else { req += (pos-a[i]*m + b[i]-1)/b[i]; } } return free >= req; } signed main() { cin.tie(0); ios_base::sync_with_stdio(0); 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]; for (int i = 0; i<n; i++) a[i] = max(a[i], b[i]); int l = 0, r = INT64_MAX; while (l < r) { int pos = (l + r + 1) / 2; if (check(pos, a, b)) { l = pos; } else { r = pos-1; } } cout << l << "\n"; 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...