| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1350135 | guardianec | Self Study (JOI22_ho_t2) | C++20 | 114 ms | 5132 KiB |
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m;
vector<ll> a, b;
bool check(ll x) {
ll k = 0;
for (int i=0; i<n; i++) {
if (max(a[i], b[i])==b[i]) {
k+=(x+b[i]-1)/b[i];
} else {
if ((x+a[i]-1)/a[i]<=m) {
k+=(x+a[i]-1)/a[i];
} else {
k+=m;
k+=((x-a[i]*m)+b[i]-1)/b[i];
}
}
if (k>n*m) return 0;
}
return (k<=n*m);
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m;
a.resize(n);
b.resize(n);
for (int i=0; i<n; i++) {
cin >> a[i];
}
for (int i=0; i<n; i++) {
cin >> b[i];
}
ll l = 0;
ll r = LLONG_MAX-1;
ll res = 0;
while(l<=r) {
ll m = l+(r-l)/2;
if (check(m)) {
l=m+1;
res = m;
} else {
r=m-1;
}
}
cout << res;
}| # | 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... | ||||
