QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#466115#7277. Bring Down the Sky Grading ServerForested5 1219ms152972kbC++172.0kb2024-07-07 16:05:242024-07-07 16:05:25

Judging History

你现在查看的是最新测评结果

  • [2024-07-07 16:05:25]
  • 评测
  • 测评结果:5
  • 用时:1219ms
  • 内存:152972kb
  • [2024-07-07 16:05:24]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

using i32 = int;
using i64 = long long;
template <typename T>
using V = vector<T>;
template <typename T>
using VV = V<V<T>>;
template <typename T>
using VVV = VV<V<T>>;
template <typename T>
using VVVV = VVV<V<T>>;

#define OVERRIDE4(a, b, c, d, ...) d
#define REP2(i, n) for (i32 i = 0; i < (i32)(n); ++i)
#define REP3(i, l, r) for (i32 i = (i32)(l); i < (i32)(r); ++i)
#define REP(...) OVERRIDE4(__VA_ARGS__, REP3, REP2)(__VA_ARGS__)
#define PER2(i, n) for (i32 i = (i32)(n) - 1; i >= 0; --i)
#define PER3(i, l, r) for (i32 i = (i32)(r) - 1; i >= (i32)(l); --i)
#define PER(...) OVERRIDE4(__VA_ARGS__, PER3, PER2)(__VA_ARGS__)
#define ALL(x) begin(x), end(x)
#define LEN(x) (i32)(size(x))

template <typename T>
bool chmin(T &x, const T &y) {
    if (x > y) {
        x = y;
        return true;
    }
    return false;
}
template <typename T>
bool chmax(T &x, const T &y) {
    if (x < y) {
        x = y;
        return true;
    }
    return false;
}

int main() {
    i32 s, q;
    cin >> s >> q;
    constexpr i32 D = 76;
    VVVV<i32> is_first(D, VVV<i32>(D, VV<i32>(D, V<i32>(D, -1))));
    auto rec = [&](auto rec, i32 ch, i32 fh, i32 cg, i32 fg) -> bool {
        if (ch <= 0) {
            return false;
        }
        if (is_first[ch][fh][cg][fg] != -1) {
            return is_first[ch][fh][cg][fg];
        }
        bool ans = false;
        i32 dmg = max(0, ch - s * fg);
        if (dmg > 0 && !rec(rec, cg - dmg, fg, ch, fh)) {
            ans = true;
        }
        if (fg > 0 && !rec(rec, cg, fg - 1, ch, fh)) {
            ans = true;
        }
        return is_first[ch][fh][cg][fg] = ans;
    };
    REP(i, q) {
        i32 ch, fh, cg, fg;
        cin >> ch >> fh >> cg >> fg;
        assert(ch <= D && fh <= D && cg <= D && fg <= D);
        if (rec(rec, ch, fh, cg, fg)) {
            cout << "YES\n";
        } else {
            cout << "NO\n";
        }
    }
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 5
Accepted

Test #1:

score: 5
Accepted
time: 15ms
memory: 152860kb

input:

17 2
42 1 33 1
42 1 33 7

output:

YES
NO

result:

ok 2 token(s): yes count is 1, no count is 1

Test #2:

score: 0
Accepted
time: 1183ms
memory: 152876kb

input:

2 250000
75 16 56 55
50 9 49 60
18 67 62 5
30 54 61 39
22 39 42 31
26 30 55 1
23 30 53 16
55 13 6 44
69 8 58 72
53 7 60 12
29 14 26 34
37 64 24 71
19 3 40 1
64 13 33 65
67 24 68 3
64 17 50 66
71 6 62 13
15 29 26 24
51 30 34 45
46 5 40 72
54 52 60 49
35 21 18 30
39 31 35 34
30 74 72 5
74 12 6 15
11 4...

output:

NO
NO
YES
YES
NO
YES
NO
NO
NO
YES
NO
NO
NO
NO
YES
NO
YES
NO
NO
NO
YES
NO
NO
YES
YES
NO
YES
YES
NO
YES
YES
NO
NO
YES
NO
NO
YES
YES
YES
NO
NO
NO
NO
YES
YES
YES
YES
NO
YES
NO
YES
NO
YES
YES
YES
YES
YES
NO
NO
NO
YES
NO
NO
NO
YES
YES
NO
YES
NO
YES
NO
YES
YES
YES
YES
NO
YES
YES
YES
NO
YES
NO
NO
NO
NO
YES
...

result:

ok 250000 token(s): yes count is 122161, no count is 127839

Test #3:

score: 0
Accepted
time: 1087ms
memory: 152744kb

input:

7 250000
14 72 33 41
43 64 63 62
34 14 69 9
19 75 21 57
47 6 43 53
19 53 58 46
50 49 49 74
30 75 53 68
36 42 53 14
70 40 52 73
70 44 75 44
38 75 72 46
11 45 20 10
25 67 35 60
54 27 14 28
53 35 26 44
10 20 60 13
61 2 41 6
54 3 66 8
43 34 69 31
52 16 3 41
53 62 33 66
15 75 27 32
73 22 22 44
66 15 56 1...

output:

YES
NO
YES
YES
NO
YES
NO
YES
YES
NO
YES
YES
YES
YES
YES
NO
NO
YES
NO
YES
NO
NO
YES
NO
NO
YES
NO
YES
NO
YES
NO
YES
YES
YES
YES
YES
NO
YES
YES
NO
YES
YES
NO
YES
YES
NO
NO
YES
NO
NO
NO
YES
NO
YES
YES
NO
NO
NO
NO
NO
YES
NO
YES
YES
YES
NO
YES
YES
NO
NO
NO
NO
NO
YES
YES
NO
YES
NO
YES
NO
NO
YES
NO
NO
NO
NO...

result:

ok 250000 token(s): yes count is 123236, no count is 126764

Test #4:

score: 0
Accepted
time: 735ms
memory: 152828kb

input:

42 250000
9 44 75 43
56 10 46 11
25 22 40 22
54 4 49 5
4 22 34 16
69 59 72 59
66 75 74 31
5 10 57 10
11 48 36 46
7 40 56 14
32 68 5 74
66 25 59 40
10 6 20 7
48 25 73 24
54 41 51 56
71 32 47 55
17 3 26 10
20 49 8 51
44 17 43 35
75 18 69 33
72 8 74 43
45 75 66 19
56 73 68 15
47 56 57 57
39 69 20 70
7 ...

output:

NO
NO
YES
NO
NO
YES
YES
NO
YES
YES
NO
NO
NO
YES
NO
NO
NO
NO
NO
NO
NO
YES
YES
NO
YES
YES
YES
NO
NO
YES
NO
NO
YES
NO
YES
NO
NO
YES
NO
NO
YES
NO
NO
NO
NO
NO
NO
NO
YES
NO
YES
YES
YES
NO
NO
NO
YES
YES
YES
YES
YES
NO
NO
YES
YES
NO
NO
NO
NO
YES
YES
NO
NO
NO
NO
NO
YES
NO
YES
YES
NO
YES
YES
NO
NO
YES
NO
YES
...

result:

ok 250000 token(s): yes count is 118956, no count is 131044

Test #5:

score: 0
Accepted
time: 1184ms
memory: 152776kb

input:

74 250000
29 38 74 53
17 75 67 32
10 17 14 74
7 35 60 74
18 61 33 14
11 75 47 46
5 66 54 57
11 19 38 35
45 1 66 51
3 57 71 35
48 75 59 48
75 75 75 65
51 54 15 57
6 11 25 65
10 6 36 4
43 29 34 36
32 75 19 59
11 11 41 39
19 55 36 74
44 1 69 2
11 49 39 30
62 75 49 14
47 5 53 71
7 60 38 34
48 75 11 43
7...

output:

NO
YES
NO
NO
YES
YES
NO
NO
NO
NO
YES
YES
NO
NO
YES
NO
YES
NO
NO
NO
YES
YES
NO
YES
YES
YES
NO
NO
YES
NO
NO
NO
YES
NO
YES
YES
NO
YES
YES
YES
YES
NO
NO
YES
YES
YES
NO
NO
YES
YES
YES
NO
YES
NO
YES
NO
NO
YES
YES
YES
NO
YES
NO
NO
YES
YES
YES
NO
YES
YES
YES
YES
YES
NO
YES
YES
NO
YES
YES
YES
YES
NO
YES
NO
N...

result:

ok 250000 token(s): yes count is 107243, no count is 142757

Test #6:

score: 0
Accepted
time: 391ms
memory: 152876kb

input:

33 250000
42 63 17 64
48 31 9 35
46 64 75 15
42 14 16 17
3 37 49 15
70 39 16 43
52 2 8 8
12 12 57 9
36 42 75 1
9 60 30 58
47 71 75 69
75 7 3 30
45 51 24 52
14 15 2 25
55 35 2 53
68 32 31 34
69 43 56 45
44 68 75 57
29 36 2 55
56 61 5 71
36 55 75 21
38 73 75 69
61 72 75 24
67 10 74 10
48 28 28 30
47 6...

output:

YES
YES
YES
NO
YES
NO
NO
NO
YES
YES
YES
YES
YES
NO
YES
NO
NO
YES
NO
YES
YES
YES
YES
YES
NO
NO
NO
NO
YES
YES
YES
NO
YES
YES
YES
NO
YES
YES
NO
NO
NO
NO
YES
YES
YES
NO
NO
YES
NO
NO
NO
NO
YES
NO
NO
NO
NO
YES
NO
NO
NO
YES
YES
YES
YES
YES
NO
NO
YES
NO
NO
NO
YES
NO
YES
NO
NO
NO
NO
NO
NO
YES
NO
YES
YES
NO
Y...

result:

ok 250000 token(s): yes count is 115599, no count is 134401

Test #7:

score: 0
Accepted
time: 384ms
memory: 152812kb

input:

20 250000
24 13 65 12
8 13 74 5
13 68 67 65
70 58 55 60
54 39 30 41
75 45 20 72
1 27 55 0
4 35 75 18
2 48 75 21
49 70 54 71
9 25 75 37
75 8 72 72
74 0 17 3
1 51 34 18
8 7 28 5
66 13 34 16
65 2 58 3
3 45 49 33
33 15 70 13
53 36 75 6
15 75 55 72
7 0 64 74
75 30 21 55
75 4 39 65
67 21 75 9
47 22 20 23
...

output:

NO
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
YES
YES
NO
NO
NO
YES
YES
YES
NO
NO
NO
YES
YES
NO
YES
YES
YES
YES
YES
NO
YES
YES
YES
NO
NO
YES
NO
NO
NO
NO
NO
NO
NO
YES
YES
NO
YES
NO
YES
NO
YES
NO
NO
NO
NO
YES
NO
YES
NO
YES
YES
YES
YES
NO
YES
YES
NO
YES
NO
YES
YES
NO
YES
NO
YES
NO
YES
NO
NO
YES
YES
NO
YES
NO...

result:

ok 250000 token(s): yes count is 118095, no count is 131905

Test #8:

score: 0
Accepted
time: 440ms
memory: 152828kb

input:

10 250000
50 31 58 32
17 66 46 63
8 39 35 36
75 42 49 64
28 68 75 9
3 73 10 71
64 54 23 58
33 32 16 35
8 31 63 24
51 7 75 65
60 11 38 15
12 75 75 3
4 52 28 45
24 54 2 71
44 39 24 42
46 41 75 4
1 39 74 3
75 9 41 48
75 9 61 72
58 44 74 42
66 34 28 38
64 30 72 29
34 46 62 44
75 6 17 68
29 16 1 45
63 38...

output:

NO
YES
YES
NO
YES
YES
YES
NO
YES
NO
NO
YES
YES
NO
NO
YES
NO
NO
NO
YES
YES
YES
NO
NO
NO
YES
NO
YES
YES
YES
NO
YES
YES
YES
YES
NO
NO
YES
NO
NO
YES
NO
YES
NO
NO
YES
YES
NO
NO
YES
NO
NO
YES
YES
NO
YES
YES
NO
NO
NO
NO
YES
NO
YES
NO
NO
YES
YES
YES
YES
YES
NO
YES
NO
YES
NO
NO
NO
NO
NO
YES
YES
YES
YES
NO
NO...

result:

ok 250000 token(s): yes count is 123426, no count is 126574

Test #9:

score: 0
Accepted
time: 1219ms
memory: 152896kb

input:

3 250000
44 27 71 1
61 15 13 29
48 7 36 37
23 71 28 11
39 10 14 6
24 64 39 29
48 28 23 58
22 14 34 64
36 55 29 45
5 55 69 38
56 48 56 63
67 61 24 44
38 6 47 38
3 22 6 59
7 71 4 41
34 8 55 63
53 56 43 7
5 51 5 75
53 72 8 14
40 37 42 14
58 19 70 50
71 13 56 52
42 12 37 62
73 19 58 24
64 63 46 64
46 31...

output:

YES
YES
NO
YES
YES
YES
NO
NO
YES
NO
NO
YES
NO
NO
YES
NO
YES
NO
YES
YES
NO
NO
NO
YES
YES
YES
YES
YES
NO
NO
NO
NO
YES
YES
YES
YES
NO
YES
YES
YES
YES
NO
NO
YES
NO
NO
YES
YES
NO
YES
NO
YES
YES
NO
YES
YES
YES
NO
NO
YES
YES
YES
NO
YES
NO
NO
YES
YES
NO
NO
NO
YES
NO
NO
YES
NO
NO
NO
NO
NO
YES
NO
NO
YES
NO
NO...

result:

ok 250000 token(s): yes count is 130142, no count is 119858

Subtask #2:

score: 0
Runtime Error

Dependency #1:

100%
Accepted

Test #10:

score: 5
Accepted
time: 31ms
memory: 152972kb

input:

17 2
42 1 33 1
42 1 33 7

output:

YES
NO

result:

ok 2 token(s): yes count is 1, no count is 1

Test #11:

score: -5
Runtime Error

input:

3 250000
266 36 105 90
207 149 109 198
246 93 275 84
12 300 16 299
292 6 137 73
20 300 242 227
1 300 107 245
269 148 177 179
90 300 114 292
254 152 191 173
271 25 223 82
92 133 72 140
227 72 30 138
50 94 285 16
211 60 2 165
11 4 9 5
15 106 290 15
96 26 29 49
299 139 2 288
258 233 58 300
2 92 180 4
2...

output:


result:


Subtask #3:

score: 0
Runtime Error

Test #28:

score: 0
Runtime Error

input:

1 250000
554333015044 833858497873 833858497874 554333015044
655160857180 306396306924 306396306917 655160857187
374728598365 176680698490 176680698490 374728598365
764650258714 835600427315 835600427309 764650258720
521594231110 318048536486 318048536482 521594231115
273627794040 449769302710 10899...

output:


result:


Subtask #4:

score: 0
Skipped

Dependency #2:

0%

Subtask #5:

score: 0
Skipped

Dependency #3:

0%

Subtask #6:

score: 0
Runtime Error

Dependency #1:

100%
Accepted

Test #102:

score: 20
Accepted
time: 26ms
memory: 152972kb

input:

17 2
42 1 33 1
42 1 33 7

output:

YES
NO

result:

ok 2 token(s): yes count is 1, no count is 1

Test #103:

score: -20
Runtime Error

input:

42 250000
4872 44 1889 116
2940 47 1989 70
3401 74 3146 81
629 27 988 19
2765 125 4409 86
2056 125 4578 65
4953 9 118 125
486576003099 110 843475701009 97
5078 105 4242 125
121 70 71 72
313361668603 101 507029830192 68
3570 94 2302 125
808028848732 24 964525600627 54
3276 39 1670 78
1436 115 1049 12...

output:


result:


Subtask #7:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%