Submission #1333242

#TimeUsernameProblemLanguageResultExecution timeMemory
1333242ricardsjansonsSelf Study (JOI22_ho_t2)C++20
0 / 100
96 ms5128 KiB
#include <bits/stdc++.h>
#define ll long long
using namespace std;

const int N=3e5+5;

ll n,m,a[N],b[N];

bool check(ll x){
    ll y=0;
    for(int i=0;i<n;i++){
        if(m*a[i]<x){
            y+=(x-m*a[i]+b[i]-1)/b[i];
        }else{
            y-=m-(x+a[i]-1)/a[i];
        }
    }
    return y<=0;
}

ll bs(){
    ll l=1,r=1e18;
    while(l<r){
        ll mid=(l+r+1)/2;
        if(check(mid)){
            l=mid;
        }else{
            r=mid-1;
        }
    }
    return l;
}

int main(){
    ios_base::sync_with_stdio(0);cin.tie(0);
    cin>>n>>m;
    for(int i=0;i<n;i++)cin>>a[i];
    for(int i=0;i<n;i++){
        cin>>b[i];
        a[i]=max(a[i],b[i]);
    }
    cout<<bs();
}
#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...