Submission #1187344

#TimeUsernameProblemLanguageResultExecution timeMemory
1187344maxFedorchukSelf Study (JOI22_ho_t2)C++20
0 / 100
84 ms4984 KiB
#include <bits/stdc++.h>
using namespace std;

const long long MX=3e5+10;

long long n,m,a[MX],b[MX];

bool chk(long long zn)
{
    long long s=0;
    for(long long i=1;i<=n;i++)
    {
        if(a[i]*m>=zn)
        {
            s+=(zn+a[i]-1)/a[i];
        }
        else
        {
            s+=m+(zn-a[i]*m+b[i]-1)/b[i];
        }
    }
    
    return (s<=n*m);
}

int main()
{
    cin.tie(0);
    ios_base::sync_with_stdio(0);
    
    cin>>n>>m;
    
    for(long long i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    
    for(long long i=1;i<=n;i++)
    {
        cin>>b[i];
        a[i]=max(a[i],b[i]);
    }
    
    long long l=0,r=1e18+1;
    
    while(l+1<r)
    {
        long long mid=(l+r)/2;
        if(chk(mid))
        {
            l=mid;
        }
        else
        {
            r=mid;
        }
    }
    
    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...