Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define int long long
- #define SZ(X) (int)(X).size()
- int arr[100000], brr[100000];
- int32_t main(){
- int n,k,m;
- cin >> n >> k >> m;
- for(int i = 0; i < n; ++i){
- cin >> arr[i];
- }
- for(int i = 0; i < n; ++i){
- cin >> brr[i];
- }
- int big = k, small = 0;
- while(big >= small){
- int mid = (big + small) / 2;
- int cnt = 0;
- for(int i = 0; i < n; ++i){
- int val = max(k - arr[i] * mid, 0LL);
- if(val % brr[i] == 0)cnt += val/brr[i];
- else cnt += val/brr[i] + 1;
- }
- //cout << mid << ' ' << cnt << '\n';
- if(cnt > m){
- small = mid + 1;
- }else{
- big = mid - 1;
- }
- }
- cout << small << '\n';
- return 0;
- }
Add Comment
Please, Sign In to add comment