Submission #528121

#TimeUsernameProblemLanguageResultExecution timeMemory
528121dooweyLet's Win the Election (JOI22_ho_t3)C++14
0 / 100
0 ms332 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 C[N]; int main(){ fastIO; //freopen("in.txt","r",stdin); int n; cin >> n; ll m; cin >> m; for(int i = 1; i <= n; i ++ ){ cin >> A[i]; } ll maxi = (ll)1e18; for(int i = 1; i <= n; i ++ ){ cin >> B[i]; A[i] = max(A[i], B[i]); maxi = min(maxi, A[i]); } cout << maxi << "\n"; return 0; ll li = 0; ll ri = (ll)1e16; ll mid; ll nd; while(li + 1 < ri){ mid = (li + ri) / 2; ll can; nd = 0; for(int i = 1; i <= n; i ++ ){ can = (mid + A[i] - 1) / A[i]; if(can <= m){ nd += m - can; C[i] = 0; } else{ C[i] = mid - A[i] * 1ll * m; } } for(int i = 1; i <= n; i ++ ){ nd -= (C[i] + B[i] - 1) / B[i]; } if(nd >= 0){ li = mid; } else{ ri = mid; } } 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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...