Submission #760828

#TimeUsernameProblemLanguageResultExecution timeMemory
760828PetrixSelf Study (JOI22_ho_t2)C++17
100 / 100
314 ms11356 KiB
#include <iostream> using namespace std; long long a[300000],b[300000]; int main() { long long n,m,i,st,dr,mij,s,rasp; cin>>n>>m; for(i=0;i<n;i++){ cin>>a[i]; } for(i=0;i<n;i++){ cin>>b[i]; a[i]=max(a[i],b[i]); } st=rasp=0;dr=1ll<<60; while(st<=dr){ s=0; mij=(st+dr)/2; for(i=0;i<n && s<=n*m;i++){ if(a[i]*m<mij){ s+=m+(mij-a[i]*m-1)/b[i]+1; }else{ s+=(mij-1)/a[i]+1; } } if(s>m*n){ dr=mij-1; }else{ rasp=mij; st=mij+1; } } cout<<rasp; 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...