Submission #528131

#TimeUsernameProblemLanguageResultExecution timeMemory
528131dooweySelf Study (JOI22_ho_t2)C++14
10 / 100
178 ms7340 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]); } ll li = 1; 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; if(C[i] < 0) C[i] = 0; } } for(int i = 1; i <= n; i ++ ){ if(C[i] > 0){ nd -- ; } } if(nd >= 0){ 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...