제출 #534084

#제출 시각아이디문제언어결과실행 시간메모리
534084PixelCatSelf Study (JOI22_ho_t2)C++14
62 / 100
386 ms6068 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 LL 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){ __int128_t t=tar; __int128_t r=min(m,(t+a[i]-1)/a[i]); t-=r*a[i]; if(t>0){ d+=(t+b[i]-1)/b[i]; }else{ s+=m-r; } } return s>=d; } int32_t main(){ ios::sync_with_stdio(false); cin.tie(0); // OAO int n,m; cin>>n>>m; For(i,1,n) cin>>a[i]; For(i,1,n){ cin>>b[i]; 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<<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...