# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
528007 | amukkalir | Self Study (JOI22_ho_t2) | C++17 | 89 ms | 3812 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define prn printf
#define scn scanf
ll n, m;
const int nax = 3e5;
ll a[nax+5], b[nax+5];
ll updiv(ll a, ll b) {
ll ret = a/b;
if(b*ret!=a) ret++;
return ret;
}
bool ok (ll x) {
vector<ll> comp(n,0);
ll rem = n*m;
// for(int i=0; i<n; i++) {
// for(int j=0; j<m; j++) {
// if(comp[i] < x) {
// comp[i] += b[i];
// rem--;
// }
// }
// }
for(int i=0;i <n; i++) {
rem -= updiv(x, b[i]);
}
return rem >= 0;
}
signed main () {
scn("%lld %lld", &n, &m);
for(int i=0; i<n; i++) scn("%lld", &a[i]);
for(int i=0; i<n; i++) scn("%lld", &b[i]);
ll ans = 0;
ll lo = 0, hi = 1e18;
while(lo <= hi) {
ll mid = (lo+hi)>>1;
if(ok(mid)) {
ans = mid;
lo = mid+1;
} else hi = mid-1;
}
prn("%lld", ans);
}
/*
binser
cek (x)
coba self study semua
coba kalo nambahin dtg bsb erkurang ga harinya
jumlahin harinya hrs less than or equal n*m
*/
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |