제출 #1299896

#제출 시각아이디문제언어결과실행 시간메모리
1299896exoworldgdSelf Study (JOI22_ho_t2)C++20
100 / 100
119 ms7616 KiB
#pragma GCC optimize("O5,unroll-loops,inline,fast-math") #pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt") #include <bits/stdc++.h> #define int long long #define exoworldgd cin.tie(0)->sync_with_stdio(0), cout.tie(0) using namespace std; const int N=3e5+5; int n,m,a[N],b[N],l=0,r=1e18,ans=0; signed main(void) { exoworldgd; cin >> n >> m; for(int i=0;i<n;i++) cin >> a[i]; for(int i=0;i<n;i++) cin >> b[i]; for(int i=0;i<n;i++) a[i] = max(a[i],b[i]); while(l <= r){ int mid = (l+r)>>1, need[n],ex=0,ok=0; for(int i=0,x;i<n;i++) x=min(m,(mid+a[i]-1)/a[i]),need[i]=max(0LL,mid-x*a[i]),ex += m-x; for(int i=0;i<n;i++){ if(!need[i]) continue; int c=(need[i]+b[i]-1)/b[i]; if(c > ex){ok=1; break; } ex -= c; } ok ? r = mid-1 : (ans = mid, l = mid+1); } cout << ans; }
#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...