제출 #1179963

#제출 시각아이디문제언어결과실행 시간메모리
1179963prideliqueeeSelf Study (JOI22_ho_t2)C++20
100 / 100
123 ms5204 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n,m;
    cin>>n>>m;
    int a[n],b[n];
    for(int i=0;i<n;i++)
    cin>>a[i];
    for(int i=0;i<n;i++)
    cin>>b[i];
    int l=1,r=1e18;
    while(l<r)
    {
        int mid=(l+r+1)/2;
        int cnt=0;
        int h=1;
        for(int i=0;i<n;i++)
        {
            int t=mid;
            if(b[i]>=a[i])
            {
                if(t%b[i]==0)
                cnt+=t/b[i];
                else
                cnt+=t/b[i]+1;
                //continue;
            }
            else if(a[i]*m>=t)
            {
                if(t%a[i]==0)
                cnt+=t/a[i];
                else
                cnt+=t/a[i]+1;
                //continue;
            }
            else
            {
                cnt+=m;
                t-=a[i]*m;
                if(t%b[i]==0)
                cnt+=t/b[i];
                else
                cnt+=t/b[i]+1;
            }
            if(cnt>n*m)
            {
                h=0;
                break;
            }
        }
        //cout<<l<<" "<<r<<" "<<mid<<endl;
        if(h)
        l=mid;
        else
        r=mid-1;
    }
    cout<<l;
}
#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...