Submission #734291

# Submission time Handle Problem Language Result Execution time Memory
734291 2023-05-02T08:35:15 Z TheSahib A Difficult(y) Choice (BOI21_books) C++17
60 / 100
3 ms 336 KB
#include "books.h"
#include <bits/stdc++.h>

#define ll long long
#define pii pair<int, int>

using namespace std;

map<int, ll> mp;

ll get(int pos){
    if(mp.find(pos) != mp.end()) return mp[pos];
    return mp[pos] = skim(pos);
}


void solve(int N, int K, long long A, int S) {
    int l = K, r = N;
    while(l <= r){
        int mid = (l + r) / 2;
        ll a = 0;
        vector<int> ans;
        for(int i = mid - K + 1; i <= mid; i++){
            ans.push_back(i);
            a += get(i);
        }
        if(A <= a && a <= 2 * A){
            answer(ans);
            return;
        }
        else if(a < A){
            l = mid + 1;
        }
        else if(2 * A < a){
            r = mid - 1;
        }
    }
    l = 1, r = N;
    ll a = -1;
    vector<int> ans(1);
    while(l <= r){
        int mid = (l + r) / 2;
        if(get(mid) >= A){
            r = mid - 1;
            a = get(mid);
            ans[0] = mid;
        }
        else{
            l = mid + 1;
        }
    }
    if(a == -1){
        impossible();
        return;
    }
    for(int i = 1; i < K; i++){
        if(i == ans[0]){
            impossible();
            return;
        }
        ans.push_back(i);
        a += get(i);
    }
    if(A <= a && a <= 2 * A){
        answer(ans);
    }
    else{
        impossible();
    }
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 336 KB Output is correct
3 Correct 0 ms 208 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Correct 1 ms 208 KB Output is correct
6 Correct 1 ms 208 KB Output is correct
7 Correct 1 ms 208 KB Output is correct
8 Correct 1 ms 208 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 0 ms 208 KB Output is correct
4 Correct 1 ms 208 KB Output is correct
5 Correct 1 ms 208 KB Output is correct
6 Correct 1 ms 208 KB Output is correct
7 Correct 1 ms 208 KB Output is correct
8 Correct 1 ms 208 KB Output is correct
9 Correct 1 ms 304 KB Output is correct
10 Correct 1 ms 208 KB Output is correct
11 Correct 1 ms 208 KB Output is correct
12 Correct 2 ms 208 KB Output is correct
13 Correct 2 ms 296 KB Output is correct
14 Correct 2 ms 208 KB Output is correct
15 Correct 1 ms 208 KB Output is correct
16 Correct 2 ms 304 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 208 KB Output is correct
2 Correct 1 ms 208 KB Output is correct
3 Correct 1 ms 288 KB Output is correct
4 Correct 2 ms 276 KB Output is correct
5 Correct 1 ms 208 KB Output is correct
6 Correct 1 ms 280 KB Output is correct
7 Correct 1 ms 208 KB Output is correct
8 Correct 2 ms 284 KB Output is correct
9 Correct 2 ms 208 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 208 KB Output is correct
2 Correct 1 ms 208 KB Output is correct
3 Correct 1 ms 288 KB Output is correct
4 Correct 2 ms 276 KB Output is correct
5 Correct 1 ms 208 KB Output is correct
6 Correct 1 ms 280 KB Output is correct
7 Correct 1 ms 208 KB Output is correct
8 Correct 2 ms 284 KB Output is correct
9 Correct 2 ms 208 KB Output is correct
10 Correct 1 ms 208 KB Output is correct
11 Correct 1 ms 208 KB Output is correct
12 Correct 1 ms 280 KB Output is correct
13 Correct 1 ms 292 KB Output is correct
14 Correct 1 ms 208 KB Output is correct
15 Correct 1 ms 208 KB Output is correct
16 Correct 1 ms 208 KB Output is correct
17 Correct 2 ms 296 KB Output is correct
18 Correct 2 ms 296 KB Output is correct
19 Correct 1 ms 208 KB Output is correct
20 Correct 2 ms 208 KB Output is correct
21 Correct 2 ms 300 KB Output is correct
22 Correct 2 ms 300 KB Output is correct
23 Correct 2 ms 296 KB Output is correct
24 Correct 2 ms 208 KB Output is correct
25 Correct 2 ms 208 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 208 KB Output is correct
2 Correct 1 ms 208 KB Output is correct
3 Correct 1 ms 288 KB Output is correct
4 Correct 2 ms 276 KB Output is correct
5 Correct 1 ms 208 KB Output is correct
6 Correct 1 ms 280 KB Output is correct
7 Correct 1 ms 208 KB Output is correct
8 Correct 2 ms 284 KB Output is correct
9 Correct 2 ms 208 KB Output is correct
10 Correct 1 ms 208 KB Output is correct
11 Correct 1 ms 208 KB Output is correct
12 Correct 1 ms 280 KB Output is correct
13 Correct 1 ms 292 KB Output is correct
14 Correct 1 ms 208 KB Output is correct
15 Correct 1 ms 208 KB Output is correct
16 Correct 1 ms 208 KB Output is correct
17 Correct 2 ms 296 KB Output is correct
18 Correct 2 ms 296 KB Output is correct
19 Correct 1 ms 208 KB Output is correct
20 Correct 2 ms 208 KB Output is correct
21 Correct 2 ms 300 KB Output is correct
22 Correct 2 ms 300 KB Output is correct
23 Correct 2 ms 296 KB Output is correct
24 Correct 2 ms 208 KB Output is correct
25 Correct 2 ms 208 KB Output is correct
26 Correct 1 ms 208 KB Output is correct
27 Correct 1 ms 208 KB Output is correct
28 Correct 2 ms 208 KB Output is correct
29 Correct 3 ms 208 KB Output is correct
30 Correct 1 ms 208 KB Output is correct
31 Correct 1 ms 288 KB Output is correct
32 Correct 1 ms 328 KB Output is correct
33 Correct 2 ms 208 KB Output is correct
34 Correct 2 ms 296 KB Output is correct
35 Correct 1 ms 208 KB Output is correct
36 Correct 2 ms 292 KB Output is correct
37 Correct 3 ms 212 KB Output is correct
38 Correct 1 ms 208 KB Output is correct
39 Correct 2 ms 304 KB Output is correct
40 Correct 2 ms 300 KB Output is correct
41 Correct 2 ms 300 KB Output is correct
42 Correct 1 ms 208 KB Output is correct
43 Correct 1 ms 208 KB Output is correct
44 Correct 1 ms 208 KB Output is correct
45 Correct 2 ms 208 KB Output is correct
46 Correct 0 ms 208 KB Output is correct
47 Correct 1 ms 208 KB Output is correct
48 Correct 2 ms 208 KB Output is correct
49 Correct 1 ms 296 KB Output is correct
50 Correct 2 ms 296 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 208 KB Output is correct
2 Correct 1 ms 208 KB Output is correct
3 Correct 1 ms 288 KB Output is correct
4 Correct 2 ms 276 KB Output is correct
5 Correct 1 ms 208 KB Output is correct
6 Correct 1 ms 280 KB Output is correct
7 Correct 1 ms 208 KB Output is correct
8 Correct 2 ms 284 KB Output is correct
9 Correct 2 ms 208 KB Output is correct
10 Correct 1 ms 208 KB Output is correct
11 Correct 1 ms 208 KB Output is correct
12 Correct 1 ms 280 KB Output is correct
13 Correct 1 ms 292 KB Output is correct
14 Correct 1 ms 208 KB Output is correct
15 Correct 1 ms 208 KB Output is correct
16 Correct 1 ms 208 KB Output is correct
17 Correct 2 ms 296 KB Output is correct
18 Correct 2 ms 296 KB Output is correct
19 Correct 1 ms 208 KB Output is correct
20 Correct 2 ms 208 KB Output is correct
21 Correct 2 ms 300 KB Output is correct
22 Correct 2 ms 300 KB Output is correct
23 Correct 2 ms 296 KB Output is correct
24 Correct 2 ms 208 KB Output is correct
25 Correct 2 ms 208 KB Output is correct
26 Correct 1 ms 208 KB Output is correct
27 Correct 1 ms 208 KB Output is correct
28 Correct 1 ms 292 KB Output is correct
29 Correct 2 ms 208 KB Output is correct
30 Correct 1 ms 208 KB Output is correct
31 Correct 1 ms 276 KB Output is correct
32 Correct 1 ms 336 KB Output is correct
33 Correct 2 ms 208 KB Output is correct
34 Correct 2 ms 208 KB Output is correct
35 Correct 1 ms 208 KB Output is correct
36 Correct 1 ms 300 KB Output is correct
37 Correct 2 ms 208 KB Output is correct
38 Correct 2 ms 300 KB Output is correct
39 Correct 1 ms 300 KB Output is correct
40 Correct 2 ms 304 KB Output is correct
41 Correct 2 ms 300 KB Output is correct
42 Correct 1 ms 280 KB Output is correct
43 Runtime error 1 ms 208 KB Execution killed with signal 13
44 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 208 KB Output is correct
2 Correct 1 ms 208 KB Output is correct
3 Correct 1 ms 288 KB Output is correct
4 Correct 2 ms 276 KB Output is correct
5 Correct 1 ms 208 KB Output is correct
6 Correct 1 ms 280 KB Output is correct
7 Correct 1 ms 208 KB Output is correct
8 Correct 2 ms 284 KB Output is correct
9 Correct 2 ms 208 KB Output is correct
10 Correct 1 ms 208 KB Output is correct
11 Correct 1 ms 208 KB Output is correct
12 Correct 1 ms 280 KB Output is correct
13 Correct 1 ms 292 KB Output is correct
14 Correct 1 ms 208 KB Output is correct
15 Correct 1 ms 208 KB Output is correct
16 Correct 1 ms 208 KB Output is correct
17 Correct 2 ms 296 KB Output is correct
18 Correct 2 ms 296 KB Output is correct
19 Correct 1 ms 208 KB Output is correct
20 Correct 2 ms 208 KB Output is correct
21 Correct 2 ms 300 KB Output is correct
22 Correct 2 ms 300 KB Output is correct
23 Correct 2 ms 296 KB Output is correct
24 Correct 2 ms 208 KB Output is correct
25 Correct 2 ms 208 KB Output is correct
26 Correct 1 ms 208 KB Output is correct
27 Correct 1 ms 208 KB Output is correct
28 Correct 2 ms 208 KB Output is correct
29 Correct 3 ms 208 KB Output is correct
30 Correct 1 ms 208 KB Output is correct
31 Correct 1 ms 288 KB Output is correct
32 Correct 1 ms 328 KB Output is correct
33 Correct 2 ms 208 KB Output is correct
34 Correct 2 ms 296 KB Output is correct
35 Correct 1 ms 208 KB Output is correct
36 Correct 2 ms 292 KB Output is correct
37 Correct 3 ms 212 KB Output is correct
38 Correct 1 ms 208 KB Output is correct
39 Correct 2 ms 304 KB Output is correct
40 Correct 2 ms 300 KB Output is correct
41 Correct 2 ms 300 KB Output is correct
42 Correct 1 ms 208 KB Output is correct
43 Correct 1 ms 208 KB Output is correct
44 Correct 1 ms 208 KB Output is correct
45 Correct 2 ms 208 KB Output is correct
46 Correct 0 ms 208 KB Output is correct
47 Correct 1 ms 208 KB Output is correct
48 Correct 2 ms 208 KB Output is correct
49 Correct 1 ms 296 KB Output is correct
50 Correct 2 ms 296 KB Output is correct
51 Correct 1 ms 208 KB Output is correct
52 Correct 1 ms 208 KB Output is correct
53 Correct 1 ms 292 KB Output is correct
54 Correct 2 ms 208 KB Output is correct
55 Correct 1 ms 208 KB Output is correct
56 Correct 1 ms 276 KB Output is correct
57 Correct 1 ms 336 KB Output is correct
58 Correct 2 ms 208 KB Output is correct
59 Correct 2 ms 208 KB Output is correct
60 Correct 1 ms 208 KB Output is correct
61 Correct 1 ms 300 KB Output is correct
62 Correct 2 ms 208 KB Output is correct
63 Correct 2 ms 300 KB Output is correct
64 Correct 1 ms 300 KB Output is correct
65 Correct 2 ms 304 KB Output is correct
66 Correct 2 ms 300 KB Output is correct
67 Correct 1 ms 280 KB Output is correct
68 Runtime error 1 ms 208 KB Execution killed with signal 13
69 Halted 0 ms 0 KB -