Advertisement
j33vansh

Question 5 Rocky Bhai CPP Solution

May 8th, 2022
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.10 KB | None | 0 0
  1.     #include <bits/stdc++.h>
  2.     #define ll long long int
  3.     using namespace std;
  4.    
  5.     int main() {
  6.            int t ;
  7.            cin>>t ;
  8.            while(t--){
  9.            ll m,n,k ;
  10.            cin>>m>>n>>k ;
  11.            vector<ll>arr(m),brr(m) ;
  12.            for(ll i=0;i<m;i++){
  13.                cin>>arr[i] ;
  14.            }
  15.            for(ll j=0;j<m;j++){
  16.                cin>>brr[j] ;
  17.            }
  18.            
  19.            ll ans=0 ;
  20.            ll st=0 , en=1e9 ;
  21.            while(st<=en){
  22.                ll mid=st+((en-st)/2) ;
  23.               vector<ll> temp(m) ;
  24.              for(int i=0;i<m;i++){
  25.                 ll a=((mid-arr[i])/brr[i])+1 ;
  26.                 if(mid<arr[i])temp[i]=0 ;
  27.                 else
  28.                 temp[i]=a ;
  29.              }
  30.              ll sum=0 ;
  31.              sort(temp.begin(),temp.end(),greater<int>()) ;
  32.              for(ll i=0;i<min(n,m);i++){
  33.                  sum+=temp[i] ;
  34.              }
  35.              if(sum>=k){ans=mid ; en=mid-1 ;}
  36.              else st=mid+1 ;
  37.            }
  38.            
  39.            cout<<ans<<endl ;
  40.     }
  41.             return 0;
  42.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement