제출 #871124

#제출 시각아이디문제언어결과실행 시간메모리
871124Marco_EscandonSelf Study (JOI22_ho_t2)C++11
100 / 100
390 ms20944 KiB
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    ll n1,m1;
    cin>>n1>>m1;
    __int128_t n=n1,m=m1;
    __int128_t cad[3][n];
    for(int j=0; j<n; j++)
    {
        ll temp;
        cin>>temp;
        cad[0][j]=temp;
    }
    for(int j=0; j<n; j++)
    {
        ll temp;
        cin>>temp;
        cad[1][j]=temp;
        cad[0][j]=max(cad[1][j],cad[0][j]);
        cad[2][j]=cad[0][j]*m;
    }
    __int128_t a=0,b=5e20;
    while(a-b!=1&&a-b!=-1)
    {
        __int128_t m=(a+b)/2;
        __int128_t op=0;
        for(int i=0; i<n; i++)
        {
            if(cad[2][i]>m)
                op+=(cad[2][i]-m)/cad[0][i];
        }
        for(int i=0; i<n; i++)
        {
            if(cad[2][i]<m)
            {
                op-=(m-cad[2][i]+cad[1][i]-1)/cad[1][i];
            }
        }
        if(op>=0)
            a=m;
        else b=m;
    }
    cout<<(ll)b-1;
}
#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...