Submission #646271

#TimeUsernameProblemLanguageResultExecution timeMemory
646271PagodePaivaSelf Study (JOI22_ho_t2)C++14
100 / 100
251 ms11456 KiB
#include<bits/stdc++.h> #define int long long #define ms(v) memset(v, -1, sizeof v) #define pi pair<int, int> #define pb push_back #define fr first #define sc second #define srt(v) sort(v.begin(), v.end()) #define INF 1e15 #define N 300010 using namespace std; int n, m; int a[N], b[N]; int32_t main(){ ios::sync_with_stdio(false); cin.tie(0); cin >> n >> m; for(int i = 1;i <= n;i++){ cin >> a[i]; } for(int i = 1;i <= n;i++){ cin >> b[i]; } int l = 0, r = (int) 2e18; while(l < r){ int mid = (l+r) >> 1; int res = 0; // cout << l << " " << r << "\n"; for(int i = 1;i <= n;i++){ int aux = mid; if(a[i] > b[i]){ if(a[i]*m < aux){ aux -= a[i]*m; res += m; } else{ int t = (aux + a[i] - 1)/a[i]; res += t; if(res > n*m){r = mid; break;} continue; } } int t = (aux + b[i] - 1)/b[i]; res += t; if(res > n*m){r = mid; break;} } if(res <= n*m){ l = mid+1; } } l--; 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...