Submission #1041207

# Submission time Handle Problem Language Result Execution time Memory
1041207 2024-08-01T17:47:03 Z SoulKnight Self Study (JOI22_ho_t2) C++17
0 / 100
126 ms 8252 KB
#include "bits/stdc++.h"
using namespace std;
#define ll long long
#define ln '\n'

const int N = 3e5 + 5;
const ll INF = 5e18 + 5;

ll n, m, a[N], b[N];
inline ll ceil(ll x, ll y) {return (x + y - 1) / y;}

void solve(){
    cin >> n >> m;
    for (int i = 0; i < n; i++) cin >> a[i];
    for (int i = 0; i < n; i++) cin >> b[i];

    // ll l = 25, r = 25, ans = 0;
    ll l = 0, r = INF, ans = 0;
    while (l <= r){
        ll tar = (l + r) / 2;
        ll free, need; free = need = 0;

        for (int i = 0; i < n; i++){
            if (b[i] >= a[i]) {
                free += max(0LL, m - ceil(tar, b[i]));
                need += max(0LL, ceil(tar, b[i]) - m);
            } else {
                ll go_lesson = min(m, ceil(tar, a[i]));
                need += max(0LL, ceil(tar - a[i] * go_lesson, b[i]));
                free += max(0LL, m - go_lesson);
            }
            // cout << need << ' ' << free << ln;
        }
        if (need <= free) {ans = tar; l = tar + 1;}
        else r = tar - 1;
    }
    cout << ans << ln;
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    // int TT; cin >> TT;
    // while (TT--) {solve();}

    solve();

}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2392 KB Output is correct
2 Correct 0 ms 2396 KB Output is correct
3 Correct 0 ms 2508 KB Output is correct
4 Correct 0 ms 2396 KB Output is correct
5 Correct 0 ms 2396 KB Output is correct
6 Correct 1 ms 2392 KB Output is correct
7 Correct 1 ms 2392 KB Output is correct
8 Correct 0 ms 2396 KB Output is correct
9 Correct 0 ms 2396 KB Output is correct
10 Correct 2 ms 2396 KB Output is correct
11 Correct 126 ms 7992 KB Output is correct
12 Correct 118 ms 8252 KB Output is correct
13 Correct 62 ms 7176 KB Output is correct
14 Incorrect 109 ms 6992 KB Output isn't correct
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 0 ms 2396 KB Output is correct
3 Correct 0 ms 2396 KB Output is correct
4 Correct 0 ms 2396 KB Output is correct
5 Correct 0 ms 2396 KB Output is correct
6 Correct 0 ms 2396 KB Output is correct
7 Correct 0 ms 2396 KB Output is correct
8 Correct 0 ms 2396 KB Output is correct
9 Correct 35 ms 6508 KB Output is correct
10 Correct 24 ms 4544 KB Output is correct
11 Correct 19 ms 5588 KB Output is correct
12 Correct 14 ms 5516 KB Output is correct
13 Correct 1 ms 2396 KB Output is correct
14 Correct 1 ms 2508 KB Output is correct
15 Correct 0 ms 2392 KB Output is correct
16 Correct 0 ms 2396 KB Output is correct
17 Correct 0 ms 2396 KB Output is correct
18 Incorrect 1 ms 2396 KB Output isn't correct
19 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2392 KB Output is correct
2 Correct 0 ms 2396 KB Output is correct
3 Correct 0 ms 2508 KB Output is correct
4 Correct 0 ms 2396 KB Output is correct
5 Correct 0 ms 2396 KB Output is correct
6 Correct 1 ms 2392 KB Output is correct
7 Correct 1 ms 2392 KB Output is correct
8 Correct 0 ms 2396 KB Output is correct
9 Correct 0 ms 2396 KB Output is correct
10 Correct 2 ms 2396 KB Output is correct
11 Correct 126 ms 7992 KB Output is correct
12 Correct 118 ms 8252 KB Output is correct
13 Correct 62 ms 7176 KB Output is correct
14 Incorrect 109 ms 6992 KB Output isn't correct
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 0 ms 2396 KB Output is correct
3 Correct 0 ms 2396 KB Output is correct
4 Correct 0 ms 2396 KB Output is correct
5 Correct 0 ms 2396 KB Output is correct
6 Correct 0 ms 2396 KB Output is correct
7 Correct 0 ms 2396 KB Output is correct
8 Correct 0 ms 2396 KB Output is correct
9 Correct 35 ms 6508 KB Output is correct
10 Correct 24 ms 4544 KB Output is correct
11 Correct 19 ms 5588 KB Output is correct
12 Correct 14 ms 5516 KB Output is correct
13 Correct 1 ms 2396 KB Output is correct
14 Correct 1 ms 2508 KB Output is correct
15 Correct 0 ms 2392 KB Output is correct
16 Correct 0 ms 2396 KB Output is correct
17 Correct 0 ms 2396 KB Output is correct
18 Incorrect 1 ms 2396 KB Output isn't correct
19 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2392 KB Output is correct
2 Correct 0 ms 2396 KB Output is correct
3 Correct 0 ms 2508 KB Output is correct
4 Correct 0 ms 2396 KB Output is correct
5 Correct 0 ms 2396 KB Output is correct
6 Correct 1 ms 2392 KB Output is correct
7 Correct 1 ms 2392 KB Output is correct
8 Correct 0 ms 2396 KB Output is correct
9 Correct 0 ms 2396 KB Output is correct
10 Correct 2 ms 2396 KB Output is correct
11 Correct 126 ms 7992 KB Output is correct
12 Correct 118 ms 8252 KB Output is correct
13 Correct 62 ms 7176 KB Output is correct
14 Incorrect 109 ms 6992 KB Output isn't correct
15 Halted 0 ms 0 KB -