Submission #1268530

#TimeUsernameProblemLanguageResultExecution timeMemory
1268530lambd47Self Study (JOI22_ho_t2)C++20
100 / 100
114 ms4936 KiB
#include <bits/stdc++.h> #define int long long using namespace std; #define sz(v) ((int)(v).size()) #define all(v) (v).begin(), (v).end() #define L(i, j, k) for(int i = (j); i <= (k); ++i) #define R(i, j, k) for(int i = (j); i >= (k); --i) std::mt19937 rng(std::chrono::steady_clock::now().time_since_epoch().count()); void solve() { int n,M;cin>>n>>M; vector<int> a(n); vector<int> b(n); L(i,0,n-1)cin>>a[i]; L(i,0,n-1)cin>>b[i]; L(i,0,n-1)a[i]=max(a[i],b[i]); auto testa=[&](int m)->bool{ int tot=0; L(i,0,n-1){ int at=(m+a[i]-1)/a[i]; if(at<=M){ tot+=at; } else{ tot+=M; int x=m-a[i]*M; tot+=(x+b[i]-1)/b[i]; } if(tot>n*M)return false; } return true; }; int l=0; int r=1e18; int ans=0; while(l<=r){ int m=(l+r)/2; if(testa(m)){ ans=m; l=m+1; } else r=m-1; } cout<<ans<<"\n"; } int32_t main() { std::cin.tie(0)->sync_with_stdio(0); std::cin.exceptions(std::cin.failbit); int T = 1; // std::cin >> T; while(T--) { solve(); } 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...