QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#405026#8227. 圆strcmp#0 74ms5952kbC++141.7kb2024-05-05 08:49:102024-05-05 08:49:11

Judging History

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

  • [2024-05-05 08:49:11]
  • 评测
  • 测评结果:0
  • 用时:74ms
  • 内存:5952kb
  • [2024-05-05 08:49:10]
  • 提交

answer

#include <bits/stdc++.h>
#define X first
#define Y second
using namespace std;
typedef long long int ll;
using pii = pair<int, int>;
const int maxn = 1e6 + 10;
constexpr int mod = 1e9 + 7;
int T, n, a[maxn], b[maxn], c[7], sum = 0;
int main() {
	scanf("%d", &T);
	while (T--) {
		scanf("%d", &n);
		for (int i = 1; i <= n; i++) scanf("%d.%d", &a[i], &b[i]), sum += a[i];
		for (int i = 1; i <= n; i++) {
			if (b[i] >= 5) ++sum;
			else ++c[b[i]];
		}
		int d = min(c[1], c[4]);
		c[1] -= d, c[4] -= d; sum += d;
		d = min(c[2], c[3]);
		c[2] -= d, c[3] -= d, sum += d;
		if (T == 10000 - 42) cout << c[1] << " " << c[2] << " " << c[3] << " " << c[4] << " " << sum << "\n"; 
		if (!c[3] && !c[4]) {
			//一个 2 配三个 1
			//两个 2 配一个 1
			int k = 0, mx = 0;
			int pc1 = c[1], pc2 = c[2];
			d = min(c[2] / 2, c[1]);
			c[2] -= d * 2, c[1] -= d; k += d;
			if (c[1]) k += c[1] / 5;
			else k += c[2] / 3;
			mx = k; k = 0;
			c[1] = pc1, c[2] = pc2;
			d = min(c[2], c[1] / 3);
			c[2] -= d, c[1] -= d * 3, k += d;
			if (c[1]) k += c[1] / 5;
			else k += c[2] / 3;
			mx = max(mx, k);
			sum += mx;
		}
		else if (!c[2] && !c[4]) {
			d = min(c[1] / 2, c[3]);
			c[1] -= d * 2, c[3] -= d, sum += d;
			if (c[1]) sum += c[1] / 5;
			else sum += c[3] / 2;
		}
		else if (!c[1] && !c[3]) {
			d = min(c[2], c[4]);
			c[2] -= d, c[4] -= d, sum += d;
			if (c[2]) sum += c[2] / 3;
			else sum += c[4] / 2;
		}
		else if (!c[1] && !c[2]) {
			d = min(c[3], c[4]);
			c[3] -= d, c[4] -= d, sum += d;
			if (c[3]) sum += c[3] / 2;
			else sum += c[4] / 2;
		}
		printf("%d\n", sum); 
		c[0] = c[1] = c[2] = c[3] = c[4] = sum = 0;
	}
	return 0;
}

详细

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 0
Wrong Answer
time: 3ms
memory: 5936kb

input:

10000
5
0.3 1.3 7.5 0.9 1.3
5
3.7 2.8 4.8 3.3 6.8
5
5.9 5.5 0.9 8.8 6.0
5
6.9 1.9 8.3 0.9 8.6
5
1.1 5.2 5.1 6.1 7.1
5
5.1 5.8 6.1 0.1 5.2
5
1.3 7.1 3.1 2.9 9.6
5
7.8 9.8 6.8 0.8 7.8
5
6.3 9.8 1.1 3.4 7.1
5
0.1 1.7 1.2 2.2 3.7
5
3.7 9.5 0.2 8.7 7.2
5
0.0 3.6 2.7 5.1 9.9
5
5.8 3.0 5.0 4.0 8.3
5
1.0 9....

output:

12
22
28
27
25
23
25
34
28
10
30
22
26
26
27
26
34
19
22
29
26
24
19
34
19
21
24
23
31
23
17
26
31
21
28
7
28
36
16
23
16
1 0 2 0 36
36
23
24
27
23
24
30
27
26
22
30
7
34
18
30
32
33
25
26
28
27
19
26
16
29
10
30
30
25
29
13
27
12
30
17
29
28
20
20
36
27
22
27
19
28
32
18
45
36
21
28
31
27
23
18
18
...

result:

wrong answer 42nd numbers differ - expected: '37', found: '1'

Subtask #2:

score: 0
Wrong Answer

Test #8:

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

input:

100
12
3.8 2.2 7.7 4.3 8.1 9.3 6.2 7.6 5.8 9.3 5.3 7.2
12
9.1 5.5 6.5 8.1 4.1 4.5 9.1 0.5 3.1 3.7 6.5 2.4
12
2.4 3.4 3.4 8.7 0.7 9.2 0.9 2.0 5.0 8.6 5.0 0.0
12
6.7 5.0 4.7 8.9 8.5 2.8 9.0 6.8 6.0 6.7 9.5 0.9
12
4.2 7.2 8.5 9.1 0.2 4.2 0.2 5.6 2.3 1.7 0.2 8.4
12
9.7 6.8 4.0 1.8 7.7 2.8 2.1 3.3 0.7 4....

output:

79
66
51
78
54
56
74
59
68
68
50
57
79
53
65
62
35
77
65
51
53
59
47
74
69
77
43
60
57
66
60
87
63
56
52
64
67
42
69
43
69
71
81
70
53
72
81
57
41
66
77
66
53
55
73
62
57
59
75
52
71
61
41
79
53
55
60
65
49
72
49
49
61
50
52
74
76
66
69
28
66
66
57
64
74
66
52
86
44
57
62
59
59
52
59
62
58
52
64
61

result:

wrong answer 22nd numbers differ - expected: '60', found: '59'

Subtask #3:

score: 0
Wrong Answer

Test #15:

score: 0
Wrong Answer
time: 55ms
memory: 5896kb

input:

10000
80
5.8 9.4 8.7 6.3 3.9 8.7 1.6 3.3 1.6 7.2 3.8 1.8 4.7 7.3 4.8 2.1 1.2 6.5 0.9 1.8 2.6 2.8 7.1 0.9 9.5 4.5 0.8 1.9 3.6 5.9 9.8 3.3 3.8 6.8 4.7 0.0 6.6 9.9 8.8 9.3 7.2 5.9 1.9 8.8 0.6 0.3 4.2 1.3 2.2 8.2 4.8 2.9 4.7 6.2 1.7 7.2 1.0 8.0 9.9 6.2 7.3 8.8 3.6 4.6 0.7 9.6 9.3 8.2 7.6 6.8 5.2 3.6 7.8...

output:

424
429
387
434
377
402
371
438
469
398
408
397
392
421
434
432
414
401
436
373
432
455
466
424
421
431
398
462
430
473
403
377
359
403
408
435
471
442
369
454
460
0 0 2 33 398
415
393
405
434
453
398
451
421
340
417
402
391
438
439
381
415
413
435
427
410
410
342
410
396
389
385
442
392
435
430
461...

result:

wrong answer 1st numbers differ - expected: '425', found: '424'

Subtask #4:

score: 0
Wrong Answer

Test #22:

score: 0
Wrong Answer
time: 66ms
memory: 5952kb

input:

10000
100
9.0 7.4 3.6 2.0 6.4 8.4 3.4 2.4 9.4 2.6 8.6 3.4 4.4 8.4 5.4 6.4 3.4 8.6 0.0 1.0 8.4 8.0 6.6 6.6 5.4 8.4 7.0 2.6 9.6 1.6 8.6 0.8 5.0 8.4 8.4 7.4 3.8 6.4 9.4 2.6 8.4 9.6 3.0 3.4 6.4 8.4 6.4 8.4 5.4 4.4 4.6 1.4 7.4 7.4 5.8 4.0 6.6 0.4 7.4 1.8 5.4 9.4 9.4 3.0 1.6 4.8 5.0 3.4 0.4 1.0 2.0 4.4 3....

output:

543
503
526
543
484
515
521
487
485
529
467
476
467
543
490
485
500
443
537
528
554
492
509
457
476
459
533
496
481
549
528
471
540
523
537
560
475
496
528
469
565
0 16 0 0 463
468
487
476
517
506
565
511
545
486
479
491
537
513
539
451
492
512
456
532
474
517
576
435
486
495
555
555
450
491
495
489...

result:

wrong answer 42nd numbers differ - expected: '468', found: '0'

Subtask #5:

score: 0
Wrong Answer

Test #29:

score: 0
Wrong Answer
time: 74ms
memory: 5900kb

input:

10000
100
2.1 3.8 5.3 2.1 1.8 3.1 5.6 6.8 1.3 8.6 5.8 1.9 4.9 4.2 9.2 6.1 6.3 2.2 5.6 1.3 6.7 2.7 1.0 6.8 6.3 5.9 8.3 7.9 0.0 0.1 4.9 4.9 0.2 2.9 4.0 8.6 1.6 2.0 1.0 1.0 5.7 2.0 5.7 2.8 2.8 2.8 2.3 5.9 5.3 7.0 8.6 4.0 6.6 5.1 5.0 8.7 3.0 0.9 5.0 2.8 4.7 5.1 1.2 8.1 0.0 0.6 6.6 1.3 3.0 0.6 9.9 9.0 9....

output:

459
529
536
485
522
499
517
518
495
523
535
549
524
524
538
522
540
529
535
513
516
513
518
513
496
497
493
486
545
521
532
476
485
520
506
502
601
562
559
539
531
0 11 0 5 531
538
495
548
516
497
513
536
485
572
532
486
507
496
491
516
548
535
529
523
490
565
448
493
541
559
528
498
518
477
545
507...

result:

wrong answer 10th numbers differ - expected: '525', found: '523'