제출 #534092

#제출 시각아이디문제언어결과실행 시간메모리
534092PixelCatSelf Study (JOI22_ho_t2)C++14
62 / 100
242 ms9796 KiB
#include <bits/stdc++.h> #define For(i,a,b) for(int i=a;i<=b;i++) #define Forr(i,a,b) for(int i=a;i>=b;i--) #define F first #define S second #define sz(x) ((int)x.size()) #define all(x) x.begin(),x.end() #define eb emplace_back #define INF (ll)(9e18) #define int __int128_t using namespace std; using LL=long long; using pii=pair<int,int>; const int MAXN=300030; int a[MAXN]; int b[MAXN]; bool check(__int128_t n,__int128_t m,__int128_t tar){ __int128_t s=0,d=0; For(i,1,n){ if(m*a[i]>=tar){ s+=(m*a[i]-tar)/a[i]; }else{ int t=tar-m*a[i]; d+=(t+b[i]-1)/b[i]; } } return s>=d; } int32_t main(){ ios::sync_with_stdio(false); cin.tie(0); // OAO long long n,m; cin>>n>>m; For(i,1,n){ long long t; cin>>t; a[i]=t; } For(i,1,n){ long long t; cin>>t; b[i]=t; a[i]=max(a[i],b[i]); } int hi=1e18+10; int lo=0; while(hi-lo>1){ int mi=(hi+lo)/2; if(check(n,m,mi)) lo=mi; else hi=mi; } cout<<(long long)lo<<"\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...