Submission #1300010

#TimeUsernameProblemLanguageResultExecution timeMemory
1300010Zone_zoneeSelf Study (JOI22_ho_t2)C++20
100 / 100
99 ms5124 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){ 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]); if(needed >= n*m) break; } } 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...