Submission #1197215

#TimeUsernameProblemLanguageResultExecution timeMemory
1197215vtnooSelf Study (JOI22_ho_t2)C++20
35 / 100
95 ms5140 KiB
#include <iostream> #include <algorithm> #include <vector> #include <set> #define pb push_back #define snd second #define fst first #define forn(i,n) for(int i=0;i<n;++i) #define forsn(i,s,n) for(int i=s; i<n; ++i) #define all(x) x.begin(), x.end() #define imp(x) for(auto __:x)cout<<__<<" "; cout<<endl; #define sz(c) int((c).size()) using namespace std; typedef long long ll; typedef pair<ll,ll> ii; typedef vector<ll> vi; int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int n,m;cin>>n>>m; vi A(n), B(n); //ten en cuenta que solo podemos obtener A[i] si j==i; forn(i,n)cin>>A[i]; forn(i,n){ cin>>B[i]; A[i]=max(A[i], B[i]); } auto can=[&](ll tar)->bool{ __int128 clases=0; forn(i,n){ clases+=(tar+A[i]-1)/A[i]; if(clases>(__int128)n*m)return false; } return true; }; ll l=0, r=1e18; while(r-l>1){ ll m=l+(r-l)/2; if(can(m)){ l=m; }else r=m; } cout<<l<<endl; }
#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...