Submission #1299965

#TimeUsernameProblemLanguageResultExecution timeMemory
1299965Zone_zoneeSelf Study (JOI22_ho_t2)C++20
0 / 100
147 ms5128 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; const int N = 3e5+10; ll a[N], b[N]; int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); ll n, m; cin >> n >> m; for(int i = 1; i <= n; ++i) cin >> a[i]; for(int i = 1; i <= n; ++i) cin >> b[i]; ll l = 0, r = 1e18, ans; while(l <= r){ ll mid = (l+r)>>1; ll needed = 0, extra = 0; for(int i = 1; i <= n; ++i){ ll x = min(m, (mid+max(a[i], b[i])-1)/max(a[i], b[i])); // if(mid <= max(a[i], b[i])*m){ // extra += m-((mid+max(a[i], b[i])-1)/max(a[i], b[i])); // }else{ // needed += ((mid-m*max(a[i], b[i])+b[i]-1)/b[i]); // } extra += m-x; needed += (max(0ll, mid-x*max(a[i], b[i]))+b[i]-1)/b[i]; } if(extra >= needed) l = mid+1, ans = mid; else r = mid-1; } cout << ans << '\n'; }
#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...