Submission #1187437

#TimeUsernameProblemLanguageResultExecution timeMemory
1187437user736482Self Study (JOI22_ho_t2)C++20
100 / 100
99 ms8932 KiB
#pragma GCC optimize("O3")
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ld long double
#define pb push_back
#define ff first
#define ss second
#define MOD 1000000009
#define INF 1000000019
#define INFL 1000000000000000099LL
ll a,b,c,d,t,n,m,l,q;
vector<ll>v,v2;
bool czy(ll x){
    a=0;
    for(ll i=0;i<n;i++){
        v[i]=max(v[i],v2[i]);
        if(m*v[i]>=x){
            a+=(x+v[i]-1)/v[i];
        }
        else{
            a+=m+(x-m*v[i]+v2[i]-1)/v2[i];
        }
        if(a>INFL)return 0;
    }
    return a<=m*n;
}
int main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);
    cin>>n>>m;
    for(ll i=0;i<n;i++){
        cin>>a;
        v.pb(a);
    }
    for(ll i=0;i<n;i++){
        cin>>a;
        v2.pb(a);
    }
    ll pocz=0;
    ll kon=INFL;
    while(pocz!=kon){
        ll mid=(pocz+kon+1)/2;
        if(czy(mid)){
            pocz=mid;
        }
        else{
            kon=mid-1;
        }
    }
    cout<<pocz;
    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...