제출 #1332886

#제출 시각아이디문제언어결과실행 시간메모리
1332886LuvidiSelf Study (JOI22_ho_t2)C++20
100 / 100
104 ms5128 KiB
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define pll pair<ll, ll>
#define pii pair<int, int>
#define fs first
#define sc second
#define pb push_back

void solve() {
    ll n,m;
    cin>>n>>m;
    ll a[n],b[n];
    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]);
    }
    ll inf=1e18;
    ll l=0,r=inf;
    while(l<r){
        ll x=l+r+1>>1;
        ll s1=0,s2=0;
        for(int i=0;i<n;i++){
            if(a[i]*m>=x){
                s1+=m-(x+a[i]-1)/a[i];
            }else{
                s2=min(inf,s2+(x-a[i]*m+b[i]-1)/b[i]);
            }
        }
        if(s1>=s2)l=x;
        else r=x-1;
    }
    cout<<l<<'\n';
}

int main() {
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    solve();
}
#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...