Submission #538660

#TimeUsernameProblemLanguageResultExecution timeMemory
538660Harry464Self Study (JOI22_ho_t2)C++14
0 / 100
603 ms9692 KiB
#include <cmath> #include <iostream> #include <vector> #include <algorithm> using namespace std; typedef long long ll; int main(){ ll n, m; cin >> n >> m; vector <long double> a(n); vector <long double> 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]); ll l = 1, r = 3000000000000000001; ll granica = n*m; while (l < r){ ll mid = (l+r)/2; ll potrebno = 0; for (int i = 0; i < n; i++){ ll maksa = ceil(((double) mid)/a[i]); potrebno += min(maksa, m); double iskor = min(maksa, m); ll maksb = ceil(((double)mid- iskor*a[i])/b[i]); potrebno += max((ll) 0, maksb); } if (potrebno <= granica) l = mid + 1; else r = mid; } cout << l - 1; }
#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...