QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#858461#9675. 电池检测KaXdd_#10 9ms11532kbC++142.7kb2025-01-16 17:29:152025-01-16 17:29:16

Judging History

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

  • [2025-01-16 17:29:16]
  • 评测
  • 测评结果:10
  • 用时:9ms
  • 内存:11532kb
  • [2025-01-16 17:29:15]
  • 提交

answer

#include<bits/stdc++.h>
#define int long long
#define rg register
#define il inline
#define TT(T, Args) template<typename T, typename... Args>
#define L(i, a, b) for (rg int i = (a); i <= (b); i++)
#define R(i, a, b) for (rg int i = (a); i >= (b); i--)
#define rep(i, a) for (rg auto i : a)
using namespace std;
namespace xmpl_{
	il int rd(){
		int f = 1, x = 0;
		char ch = getchar();
		while(ch < '0' || ch > '9'){
			if (ch == '-') f = -1;
			ch = getchar();
		}
		while(ch >= '0' && ch <= '9'){
			x = x * 10 + ch - '0';
			ch = getchar();
		}
		return x * f;
	}
	TT(T, Args) il void rd(T &x){
		int f = 1;
		x = 0;
		char ch = getchar();
		while(ch < '0' || ch > '9'){
			if (ch == '-') f = -1;
			ch = getchar();
		}
		while(ch >= '0' && ch <= '9'){
			x = x * 10 + ch - '0';
			ch = getchar();
		}
		x *= f;
	}
	TT(T, Args) il void rd(T &x, Args &...args){rd(x), rd(args...);}
	TT(T, Args) il void rdArr(T *arr, int cnt){while(cnt--) rd(*arr), arr++;}
	il void wt(int x){
		if (x < 0){
			putchar('-');
			x = -x;
		}
		if (x > 9) wt(x / 10);
		putchar(x % 10 + 48);
	}
	il void wtln(int x){wt(x), putchar('\n');}
	il void wtsp(int x){wt(x), putchar(' ');}
	il void swap(int &x, int &y){x ^= y ^= x ^= y;}
	il int max(int x, int y){return (x > y ? x : y);}
	il int min(int x, int y){return (x < y ? x : y);}
	il void ckmax(int &x, int y){x = max(x, y);}
	il void ckmin(int &x, int y){x = min(x, y);}
	il void cksum(int &x, int y){x += y;}
	TT(T, Args) il void ckmax(T &x, T y, Args &...args){ckmax(x, y), ckmax(x, args...);}
	TT(T, Args) il void ckmin(T &x, T y, Args &...args){ckmin(x, y), ckmin(x, args...);}
	TT(T, Args) il void cksum(T &x, T y, Args &...args){cksum(x, y), cksum(x, args...);}
}
using namespace xmpl_;
using namespace std;

const int N = 1e3 + 5, M = 21, p = 1e9 + 7, inf = 0x3f3f3f3f3f3f3f3f;
int a, b, F[N][N];

il void init(){
	memset(F, 0x3f, sizeof(F));
	L(i, 2, 1000) F[i][0] = 1;
	L(i, 2, 1000){
		L(j, 2, 1000){
			int mid = (j - 1) / i;
			L(k, max(1ll, mid - 5), min(j - 1, mid + 5)){
				F[i][j] = min(F[i - 1][j - k] + k * (k - 1) / 2, i * j + j * (j - 1) / 2 + 1);
			}
		}
	}
	// L(j, 2, 1000){
	// 	wtsp(F[2][j]), wtln((2 + j) * (1 + j) / 2);
	// }
}

il void clear(){
	
}

il void work(){
	/*
	a + b 点,完全图
	*/
	rd(a, b);
	if (a == 2 && b == 1) return wt(3), void();
	// if (a == 2) return wt((a + b) * (a + b - 1) / 2), void();
	if (a <= b + 1) wt(F[a][b]);
	else wt(b + 1);
}

signed main(){
	// #define file 114514
#ifdef file	
	freopen("code.in", "r", stdin);
	freopen("code.out", "w", stdout);
#endif
	init();
	int t = 1;
	t = rd();
	while(t--){
		clear();
		work();
		puts("");
	}
	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: 8ms
memory: 11392kb

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: 8ms
memory: 11504kb

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
15
2
8
13
19
2
3
16
23

result:

wrong answer 6th numbers differ - expected: '4', found: '8'

Subtask #2:

score: 5
Accepted

Test #3:

score: 5
Accepted
time: 9ms
memory: 11532kb

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
15
21
28
36
45
55
66
78
91
105
120
136
153
171
190
210
231
253
276
300
325
351
378
406
435
465
496
528
561
595
630
666
703
741
780
820
861
903
946
990
1035
1081
1128
1176
1225
1275
1326
1378
1431
1485
1540
1596
1653
1711
1770
1830
1891
1953
2016
2080
2145
2211
2278
2346
2415
2485
2556
2628
27...

result:

ok 1000 numbers

Subtask #3:

score: 0
Wrong Answer

Test #4:

score: 0
Wrong Answer
time: 9ms
memory: 11312kb

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
8
13
19
26
34
43
53
27
34
38
43
51
57
64
73
81
90
100
110
121
132
144
157
169
183
198
211
227
244
258
276
295
310
330
351
367
389
412
429
453
478
496
522
549
568
596
625
645
675
706
727
759
792
814
848
883
906
942
979
1003
1041
1080
1105
1145
1186
1212
1254
1297
1324
1368
1413
1441
1487
1534
1563
...

result:

wrong answer 2nd numbers differ - expected: '4', found: '8'

Subtask #4:

score: 5
Accepted

Test #5:

score: 5
Accepted
time: 9ms
memory: 11424kb

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%