QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#405037#8227. 圆strcmp#0 74ms5900kbC++141.7kb2024-05-05 08:58:062024-05-05 08:58:08

Judging History

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

  • [2024-05-05 08:58:08]
  • 评测
  • 测评结果:0
  • 用时:74ms
  • 内存:5900kb
  • [2024-05-05 08:58:06]
  • 提交

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); int TNT = 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 (TNT == 100 && T == 100 - 39 && n == 12 && sum <= 57) 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;
			if (c[2]) k += c[2] / 3;
			d = min(c[2], c[1] / 3);
			c[2] -= d, c[1] -= d * 3, k += d;
			if (c[1]) k += c[1] / 5;
			if (c[2]) 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;
			if (c[3]) 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;
			if (c[4]) 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;
			if (c[4]) 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: 6ms
memory: 5896kb

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
20
22
29
27
24
19
34
19
21
24
23
31
23
17
26
31
21
28
7
28
36
16
23
16
37
23
24
27
23
25
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
21
20
36
27
22
27
19
28
32
18
45
36
21
28
31
27
23
18
18
40
27
15
29...

result:

wrong answer 18th numbers differ - expected: '19', found: '20'

Subtask #2:

score: 0
Wrong Answer

Test #8:

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

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
55
56
74
59
68
69
50
57
79
53
65
63
35
77
65
51
53
60
47
74
69
77
43
60
61
66
60
87
63
56
53
64
67
42
69
43
69
71
81
70
53
72
81
57
41
66
77
66
53
57
74
62
57
59
75
52
71
61
41
79
53
55
60
65
49
72
49
49
61
50
52
75
76
66
69
28
66
66
57
64
74
66
52
86
44
57
62
59
59
52
59
62
58
53
64
61

result:

wrong answer 5th numbers differ - expected: '54', found: '55'

Subtask #3:

score: 0
Wrong Answer

Test #15:

score: 0
Wrong Answer
time: 60ms
memory: 5844kb

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:

425
429
387
434
377
402
371
438
474
398
408
397
392
421
434
438
416
401
436
374
432
456
466
425
421
431
398
463
431
473
405
377
359
403
409
435
471
445
369
455
460
415
393
409
434
453
398
451
421
340
418
402
391
438
439
381
415
419
435
427
410
410
342
410
398
389
386
442
393
435
430
464
389
432
408
...

result:

wrong answer 9th numbers differ - expected: '469', found: '474'

Subtask #4:

score: 0
Wrong Answer

Test #22:

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

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
471
543
490
485
500
443
537
528
554
492
509
457
476
459
533
496
481
549
528
471
540
523
537
560
477
496
528
469
565
473
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
458
491
495
493
506
536
543
...

result:

wrong answer 13th numbers differ - expected: '467', found: '471'

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
520
520
495
525
535
549
524
532
538
523
540
529
536
513
521
521
522
515
497
498
493
486
548
521
533
476
487
522
507
503
601
562
559
541
531
538
496
548
516
497
516
536
485
572
532
486
507
496
491
516
548
535
529
525
490
565
453
493
541
563
532
498
518
481
545
507
544
521
488
...

result:

wrong answer 7th numbers differ - expected: '517', found: '520'