QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#873313#9675. 电池检测fishPJ#5 1ms3840kbC++141.8kb2025-01-26 11:50:172025-01-26 11:50:18

Judging History

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

  • [2025-01-26 11:50:18]
  • 评测
  • 测评结果:5
  • 用时:1ms
  • 内存:3840kb
  • [2025-01-26 11:50:17]
  • 提交

answer

#include<bits/stdc++.h>
#define rep(i, a, b) for(int i = a; i <= b; i++)
#define per(i, a, b) for(int i = a; i >= b; i--)
#define int long long
#define RD read()
#define PN putchar('\n')
using namespace std;
bool MemoryBegin;
inline int read() {
    int x = 0, f = 1;
    char ch = getchar();
    while(ch < '0' || ch > '9') { if(ch == '-') f = -1; ch = getchar(); }
    while('0' <= ch && ch <= '9') { x = (x << 1) + (x << 3) + (ch ^ 48); ch = getchar(); }
    return x * f;
}

int const N = 1e3 + 5;

int f(int a, int b) {
    int n = a + b, t = n / 2, ans;
    if(n & 1) {
        if(b < t) ans = b + 1;
        else if(b == t) ans = b + 2;
        else {
            int x = b - t;
            ans = t + 2 * (x + 1) + 4;
        }
    } else {
        if(b < t) ans = b + 1;
        else if(b == t) ans = t + 4;
        else {
            int x = b - t;
            ans = t + (x + 1) * 2 + 4;
        }
    } return ans;
}

signed main() {
    //cerr << fabs(&MemoryBegin - &MemoryEnd) / 1048576.0 << " MB\n";
    // memset(f, 0x3f, sizeof f);
    // rep(i, 2, N - 1) f[i][0] = 1, f[i][1] = 2;
    // f[2][1] = 3;
    // rep(i, 1, N - 1) {
    //     rep(j, 2, N - 1) {
    //         f[i][j] = max(f[i][j - 1] + i, f[i][j - 2] + 2 * (i + j - 2) + 1);
            // if(j > 1) f[i][j] = min(f[i][j - 2] + 1, min(f[i - 1][j - 1] + 1, f[i][j - 2] + 2 * (i + j - 2) + 1));
            // else f[i][j] = min(f[i - 1][j - 1] + 1, f[i][j - 1] + i);
    //     }
    // }
    int T = RD;
    while(T --) {
        int a = RD, b = RD;
        printf("%lld\n", f(a, b));
    }
    // rep(i, 1, 10) {
    //     cerr << endl;
    //     rep(j, 1, 10) {
    //         cerr << i << ' ' << j << ' ' << f(i, j) << endl;
    //     }
    // }
    // cerr << "\n" << clock() * 1.0 / CLOCKS_PER_SEC * 1000 << " ms\n";
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 10
Accepted
time: 0ms
memory: 3712kb

input:

3
2 1
3 1
2 2

output:

3
2
6

result:

ok 3 number(s): "3 2 6"

Test #2:

score: 0
Wrong Answer
time: 1ms
memory: 3712kb

input:

12
2 1
2 2
2 3
2 4
3 1
3 2
3 3
3 4
4 1
4 2
4 3
4 4

output:

3
6
10
11
2
4
7
11
2
3
5
8

result:

wrong answer 4th numbers differ - expected: '15', found: '11'

Subtask #2:

score: 0
Wrong Answer

Test #3:

score: 0
Wrong Answer
time: 0ms
memory: 3840kb

input:

1000
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
2 10
2 11
2 12
2 13
2 14
2 15
2 16
2 17
2 18
2 19
2 20
2 21
2 22
2 23
2 24
2 25
2 26
2 27
2 28
2 29
2 30
2 31
2 32
2 33
2 34
2 35
2 36
2 37
2 38
2 39
2 40
2 41
2 42
2 43
2 44
2 45
2 46
2 47
2 48
2 49
2 50
2 51
2 52
2 53
2 54
2 55
2 56
2 57
2 58
2 59
2 60
2 61...

output:

3
6
10
11
13
14
16
17
19
20
22
23
25
26
28
29
31
32
34
35
37
38
40
41
43
44
46
47
49
50
52
53
55
56
58
59
61
62
64
65
67
68
70
71
73
74
76
77
79
80
82
83
85
86
88
89
91
92
94
95
97
98
100
101
103
104
106
107
109
110
112
113
115
116
118
119
121
122
124
125
127
128
130
131
133
134
136
137
139
140
142
...

result:

wrong answer 4th numbers differ - expected: '15', found: '11'

Subtask #3:

score: 0
Wrong Answer

Test #4:

score: 0
Wrong Answer
time: 1ms
memory: 3712kb

input:

1000
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
3 9
3 10
3 11
3 12
3 13
3 14
3 15
3 16
3 17
3 18
3 19
3 20
3 21
3 22
3 23
3 24
3 25
3 26
3 27
3 28
3 29
3 30
3 31
3 32
3 33
3 34
3 35
3 36
3 37
3 38
3 39
3 40
3 41
3 42
3 43
3 44
3 45
3 46
3 47
3 48
3 49
3 50
3 51
3 52
3 53
3 54
3 55
3 56
3 57
3 58
3 59
3 60
3 61...

output:

2
4
7
11
12
14
15
17
18
20
21
23
24
26
27
29
30
32
33
35
36
38
39
41
42
44
45
47
48
50
51
53
54
56
57
59
60
62
63
65
66
68
69
71
72
74
75
77
78
80
81
83
84
86
87
89
90
92
93
95
96
98
99
101
102
104
105
107
108
110
111
113
114
116
117
119
120
122
123
125
126
128
129
131
132
134
135
137
138
140
141
14...

result:

wrong answer 3rd numbers differ - expected: '6', found: '7'

Subtask #4:

score: 5
Accepted

Test #5:

score: 5
Accepted
time: 1ms
memory: 3840kb

input:

1000
907 241
495 435
227 139
616 1
433 35
588 407
533 322
995 961
748 310
212 36
968 500
294 187
375 371
307 14
648 180
122 28
304 253
818 812
41 5
286 62
573 340
547 224
347 35
279 56
151 85
626 410
456 248
578 470
11 6
952 771
404 302
77 27
168 40
524 517
171 147
407 294
268 106
100 27
549 196
973...

output:

242
436
140
2
36
408
323
962
311
37
501
188
372
15
181
29
254
813
6
63
341
225
36
57
86
411
249
471
7
772
303
28
41
518
148
295
107
28
197
374
35
337
236
92
714
832
465
377
70
496
141
52
38
47
632
355
96
329
130
395
233
124
815
408
201
20
56
630
544
62
379
618
415
17
131
265
179
232
316
109
60
266
7...

result:

ok 1000 numbers

Subtask #5:

score: 0
Skipped

Dependency #1:

0%

Subtask #6:

score: 0
Skipped

Dependency #5:

0%

Subtask #7:

score: 0
Skipped

Dependency #1:

0%