Submission #803680

#TimeUsernameProblemLanguageResultExecution timeMemory
803680vjudge1Self Study (JOI22_ho_t2)C++14
10 / 100
50 ms5000 KiB
#include<bits/stdc++.h> #define fi first #define se second #define ll long long using namespace std ; const ll N = 3e5 ; bool flag1 ; ll n, m, l = 0, r = 1e18, a[N + 1], b[N + 1] ; signed main() { ios_base::sync_with_stdio( 0 ) ; cin.tie( 0 ) ; cout.tie( 0 ) ; cin >> n >> m ; for(ll i = 1 ; i <= n ; i++) cin >> a[i] ; for(ll i = 1 ; i <= n ; i++) { cin >> b[i] ; if(a[i] != b[i]) flag1 = 1 ; } if(m == 1) { ll mn = 1e18 ; for(ll i = 1 ; i <= n ; i++) mn = min(mn, max(a[i], b[i])) ; cout << mn << '\n' ; return 0 ; } if(!flag1) { while(l + 1 < r) { bool flag = 0 ; ll mid = (l + r) / 2, cnt = 0 ; for(ll i = 1 ; i <= n ; i++) { cnt += (mid + b[i] - 1) / b[i] ; if(cnt < 0 || (mid + b[i] - 1) / b[i]) flag = 1 ; } if(cnt > n * m || flag) r = mid ; else l = mid ; } cout << l ; return 0 ; } 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...