Submission #1015636

#TimeUsernameProblemLanguageResultExecution timeMemory
1015636snpmrnhlolSelf Study (JOI22_ho_t2)C++17
0 / 100
103 ms8532 KiB
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N = 2e5;
const ll inf = 1e18;
ll v[N],v2[N];
int main(){
    ll n,m;
    cin>>n>>m;
    for(ll i = 0;i < n;i++){
        cin>>v[i];
    }
    for(ll i = 0;i < n;i++){
        cin>>v2[i];
        v[i] = max(v[i],v2[i]);
    }
    ll l = 0,r = inf;
    while(l != r){
        ll mij = (l + r + 1)/2;
        ll bonus = 0,req = 0;
        for(ll i = 0;i < n;i++){
            ll req2 = (mij + v[i] - 1)/v[i];
            if(req2 <= m)bonus+=m - req2;
            else{
                req+=(mij - m*v[i] + v2[i] - 1)/v2[i];
            }
        }
        //cout<<mij<<' '<<bonus<<' '<<req<<'\n';
        if(bonus >= req){
            l = mij;
        }else r = mij - 1;
    }
    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...