Submission #651866

#TimeUsernameProblemLanguageResultExecution timeMemory
651866beaconmcSelf Study (JOI22_ho_t2)C++11
100 / 100
437 ms14960 KiB
#include <bits/stdc++.h> typedef long long ll; using namespace std; #define FOR(i, x, y) for(ll i=x; i<y; i++) #define FORNEG(i, x, y) for(ll i=x; i>y; i--) #define fast() ios_base::sync_with_stdio(false);cin.tie(NULL) ll n,m; vector<ll> lis; vector<ll> lis2; bool check(ll a){ ll cnt = 0; FOR(i,0,n){ if (lis[i] > lis2[i]){ if (a>lis[i]*m){ cnt += ceil((a-(lis[i]*m))/lis2[i]) + m + !!((a-(lis[i]*m))%lis2[i]); }else{ cnt += ceil(a/lis[i]) + !!(a%lis[i]); } }else{ cnt += ceil(a/lis2[i]) + !!(a%lis2[i]); } if (cnt > n*m){ return false; } } if (cnt <= n*m){ return true; }return false; } int main(){ cin >> n >> m; FOR(i,0,n){ ll temp; cin >> temp; lis.push_back(temp); } FOR(i,0,n){ ll temp; cin >> temp; lis2.push_back(temp); } ll lo = 0; ll hi = 1000000000000000000; while (lo<hi){ ll mid = (lo+hi+1)/2; if (check(mid)){ lo = mid; }else{ hi = mid - 1; } } cout << lo; }
#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...