Submission #538048

# Submission time Handle Problem Language Result Execution time Memory
538048 2022-03-16T04:02:23 Z ddy888 Self Study (JOI22_ho_t2) C++17
0 / 100
258 ms 10760 KB
#undef _GLIBCXX_DEBUG
#include <bits/stdc++.h>
using namespace std;
#define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define int long long 
#define pb push_back
#define fi first
#define si second
#define ar array
typedef pair<int,int> pi;
typedef tuple<int,int,int> ti;  
void debug_out() {cerr<<endl;}
template <typename Head, typename... Tail>
void debug_out(Head H, Tail... T) {cerr<<" "<<to_string(H);debug_out(T...);}
#define debug(...) cerr<<"["<<#__VA_ARGS__<<"]:",debug_out(__VA_ARGS__)

int N, M;
int A[300010], B[300010];

int good(int x) {
    int cnt = 0;
    for (int i = 1; i <= N; ++i) {
        int co, st;
        if (A[i] >= B[i]) { 
            if (M * A[i] < x) {
                co = M;
                st = (x - (M * A[i]) + B[i] - 1) / B[i];
            } else {
                co = (x + A[i] - 1) / A[i];
                st = 0;
            }
        } else {
            st = (x + B[i] - 1) / B[i];
            co = 0;
        }
        cnt += co + st;
    }
    return cnt <= M * N;
}

signed main() {
    fast;
    cin >> N >> M;
    for (int i = 1; i <= N; ++i) cin >> A[i];
    for (int i = 1; i <= N; ++i) cin >> B[i];
    int lo = 0, hi = 1e15;
    while (lo + 1 < hi) {
        int mid = (lo + hi) >> 1;
        if (good(mid)) lo = mid;
        else hi = mid;
    }
    cout << lo;
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 3 ms 468 KB Output is correct
11 Correct 158 ms 10760 KB Output is correct
12 Correct 170 ms 10716 KB Output is correct
13 Correct 139 ms 8808 KB Output is correct
14 Incorrect 258 ms 8812 KB Output isn't correct
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 324 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 332 KB Output is correct
5 Correct 1 ms 328 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 328 KB Output is correct
8 Correct 1 ms 328 KB Output is correct
9 Correct 80 ms 5632 KB Output is correct
10 Correct 61 ms 3712 KB Output is correct
11 Correct 47 ms 2944 KB Output is correct
12 Correct 33 ms 2416 KB Output is correct
13 Correct 1 ms 336 KB Output is correct
14 Correct 1 ms 324 KB Output is correct
15 Correct 1 ms 212 KB Output is correct
16 Correct 1 ms 212 KB Output is correct
17 Correct 1 ms 332 KB Output is correct
18 Correct 3 ms 340 KB Output is correct
19 Correct 3 ms 468 KB Output is correct
20 Correct 1 ms 340 KB Output is correct
21 Incorrect 223 ms 6168 KB Output isn't correct
22 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 3 ms 468 KB Output is correct
11 Correct 158 ms 10760 KB Output is correct
12 Correct 170 ms 10716 KB Output is correct
13 Correct 139 ms 8808 KB Output is correct
14 Incorrect 258 ms 8812 KB Output isn't correct
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 324 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 332 KB Output is correct
5 Correct 1 ms 328 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 328 KB Output is correct
8 Correct 1 ms 328 KB Output is correct
9 Correct 80 ms 5632 KB Output is correct
10 Correct 61 ms 3712 KB Output is correct
11 Correct 47 ms 2944 KB Output is correct
12 Correct 33 ms 2416 KB Output is correct
13 Correct 1 ms 336 KB Output is correct
14 Correct 1 ms 324 KB Output is correct
15 Correct 1 ms 212 KB Output is correct
16 Correct 1 ms 212 KB Output is correct
17 Correct 1 ms 332 KB Output is correct
18 Correct 3 ms 340 KB Output is correct
19 Correct 3 ms 468 KB Output is correct
20 Correct 1 ms 340 KB Output is correct
21 Incorrect 223 ms 6168 KB Output isn't correct
22 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 3 ms 468 KB Output is correct
11 Correct 158 ms 10760 KB Output is correct
12 Correct 170 ms 10716 KB Output is correct
13 Correct 139 ms 8808 KB Output is correct
14 Incorrect 258 ms 8812 KB Output isn't correct
15 Halted 0 ms 0 KB -