제출 #1157937

#제출 시각아이디문제언어결과실행 시간메모리
1157937wjliangtpeSelf Study (JOI22_ho_t2)C++20
100 / 100
111 ms5136 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define oo 10000000000000001 int n,m,a[300005],b[300005],l=oo,r,x,jump; bool psb(int X){ int cnt=0; for(int i=1;i<=n;i++){ if(a[i]*m>=X) cnt+=X/a[i]+((X%a[i])?1:0); else cnt+=m+(X-m*a[i])/b[i]+(((X-m*a[i])%b[i])?1:0); if(cnt>m*n) return 0; } return 1; } signed main(){ ios::sync_with_stdio(0),cin.tie(0); cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=n;i++){ cin>>b[i]; a[i]=max(a[i],b[i]); } for(int i=1;i<=n;i++){ r=max(a[i],r);; l=min(a[i],l); } l*=m; r=r*m; x=l; int jump=r-l+1; while(jump){ while(psb(x+jump)) x+=jump; jump/=2; } cout<<x<<'\n'; 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...