# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
528024 | amukkalir | Let's Win the Election (JOI22_ho_t3) | C++17 | 1 ms | 460 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(ret*b < a) ret++;
return ret;
}
bool ok (ll x) {
ll jum = 0;
for(int i=0; i<n; i++) {
jum += updiv(x, max(a[i], b[i]));
assert(updiv(x, max(a[i], b[i])) > 0);
}
cerr << x << " " << jum << endl;
return jum <= m*n;
}
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 = 1;
ll lo = 1, 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |