Submission #528133

#TimeUsernameProblemLanguageResultExecution timeMemory
528133dooweySelf Study (JOI22_ho_t2)C++14
0 / 100
431 ms5060 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; #define fi first #define se second #define mp make_pair #define fastIO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); const int N = (int)3e5 + 10; ll A[N]; ll B[N]; ll ceil(ll x, ll y){ return (x + y - 1) / y; } int main(){ fastIO; //freopen("in.txt","r",stdin); ll m; int n; cin >> n >> m; for(int i = 1; i <= n; i ++ ){ cin >> A[i]; } for(int i = 1; i <= n; i ++ ){ cin >> B[i]; } for(int i = 1; i <= n; i ++ ){ A[i] = max(A[i], B[i]); } ll li = 1; ll ri = (ll)1e17; ll mid; ll have = 0; ll need = 0; ll take; ll rem; while(li + 1 < ri){ mid = (li + ri) / 2; have = 0; need = 0; for(int i = 1; i <= n; i ++ ){ take = ceil(mid, A[i]); if(take < m){ have += m - take; } else{ rem = mid - A[i] * 1ll * m; if(rem >= 0) need += ceil(rem, B[i]); } } if(have >= need){ li = mid; } else{ ri = mid; } } cout << li << "\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...