제출 #646149

#제출 시각아이디문제언어결과실행 시간메모리
646149PagodePaivaSelf Study (JOI22_ho_t2)C++14
62 / 100
227 ms11452 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 1e17 #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; int r = (int) INF; while(l < r){ int mid = (l+r) >> 1; int cnt = 0; for(int i = 1;i <= n;i++){ int res = 0; int aux = mid; if(a[i] > b[i]){ if(a[i]*m < aux){ res += m; aux -= m*a[i]; } else{ int t = (aux + a[i] - 1)/a[i]; res += t; aux -= t*a[i]; } } if(aux > 0){ int t = (aux + b[i] - 1)/b[i]; res += t; aux -= t*b[i]; } cnt += res; if(cnt > n*m){ r = mid; break; } } if(cnt <= 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...