Submission #766414

#TimeUsernameProblemLanguageResultExecution timeMemory
766414HoriaHaivasSelf Study (JOI22_ho_t2)C++14
0 / 100
301 ms5068 KiB
/* "TLE is like the wind, always by my side" - Yasuo - 2022 - */ #include <bits/stdc++.h> #define debug(x) cerr << #x << " " << x << "\n" #define debugs(x) cerr << #x << " " << x << " " #pragma GCC optimize("Ofast") #define int long long using namespace std; int n,m,i,j,r,pas; int a[300001]; int b[300001]; int courseneed(int val, int course, int study) { int ans; ans=0; if (course*m<val) { ans+=m; val-=course*m; if (val%study==0) ans+=val/study; else ans+=val/study+1; } else { if (val%course==0) ans+=val/course; else ans+=val/course+1; } return ans; } bool possible(int minimum) { int sum; sum=0; for (i=1;i<=n;i++) { sum+=courseneed(minimum,a[i],b[i]); } if (sum<=n*m) return 1; return 0; } signed main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n >> m; for (i=1;i<=n;i++) { cin >> a[i]; } for (i=1;i<=n;i++) { cin >> b[i]; } for (i=1;i<=n;i++) { a[i]=max(a[i],b[i]); } r=0; pas=(1LL<<62); while (pas) { if (possible(r+pas)) r+=pas; pas=pas/2; } cout << r; }
#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...