Submission #1287268

#TimeUsernameProblemLanguageResultExecution timeMemory
1287268Faisal_SaqibSelf Study (JOI22_ho_t2)C++20
0 / 100
129 ms2864 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N=3e5+10;
int a[N],b[N];
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    ll n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    for(int i=1;i<=n;i++)
    {
        cin>>b[i];
    }
    ll s=0,e=1e17;
    while(s+1<e)
    {
        ll mid=(s+e)/2;
        ll ans=0;
        for(int i=1;i<=n;i++)
        {
            // i can take atmost m classes
            if(a[i]>b[i])
            {
                ll p=(mid+a[i]-1)/a[i];
                p=min(p,m);
                // val = a[i]*p
                ll rem=mid-a[i]*p;
                if(rem>0)
                {
                    p+=(rem+b[i]-1)/b[i];
                }
                ans+=p;
            }
            else
            {
                ans+=(mid+b[i]-1)/b[i];
            }
        }
        if(ans<=(n*m))
        {
            s=mid;
        }
        else
        {
            e=mid;
        }
    }
    cout<<s<<endl;
    
}
#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...