QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#405038#8227. 圆wxqwq0 74ms3896kbC++141.5kb2024-05-05 08:59:042024-05-05 08:59:04

Judging History

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

  • [2024-05-05 08:59:04]
  • 评测
  • 测评结果:0
  • 用时:74ms
  • 内存:3896kb
  • [2024-05-05 08:59:04]
  • 提交

answer

/*

若干个 1~9,选出若干个数想加使得大于 5 的数尽量多
首先本来就大于等于 5 的数不加是最优的
接下来设 1 2 3 4 数量分别为 a b c d
1+4
2+3/4
3+4

a>d d then a-d
b>c c then b-c

*/

#include <bits/stdc++.h>

using namespace std;

inline int read()
{
	int x=0;bool f=0;char ch=getchar();
	while(ch<'0' || ch>'9') {if(ch=='-') f=1;ch=getchar();}
	while(ch>='0' && ch<='9') x=(x<<3)+(x<<1)+(ch^48),ch=getchar();
	return f?-x:x;
}

#define x first
#define y second
#define pb push_back
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define per(i,a,b) for(int i=(a);i>=(b);i--)

typedef pair<int,int> PII;
typedef long long LL;
typedef unsigned long long ull;
const int N=1e6+10;

int n;
int s[5];
float a[N];

int main()
{
	int T=read();
	while(T--) {
		n=read(),s[0]=s[1]=s[2]=s[3]=s[4]=0;
		int sum=0,x,y;
		rep(i,1,n) {
			scanf("%d.%d",&x,&y),sum+=x;
			if(y<=4) s[y]++;
			else ++sum;
		}
		int a=s[1],b=s[2],c=s[3],d=s[4],t1=min(a,d),t2=min(b,c);
		// cout<<sum<<' '<<a<<' '<<b<<' '<<c<<' '<<d<<endl;
		sum+=t1+t2;
		// cout<<d<<' '<<s[4]<<endl;
		a-=t1,d-=t1,b-=t2,c-=t2;
		// cout<<sum<<endl;
		if(a) {
			if(b) {
				if(b/2<=a) sum+=(b/2)+(a-b/2+2*(b&1))/5;
				else sum+=a+(b-a*2)*2/3;
			}
			else if(c) {
				if(a/2<=c) sum+=(a/2)+((c-a/2)*3)/5;
				else sum+=c+(a-c*2)/5;
			}
			else sum+=a/5;
		}
		else if(d) sum+=(b+c+d)/2;
		else if(b) sum+=b/3;
		else if(c) sum+=c/2;
		// cout<<d<<' '<<t1<<endl;
		printf("%d\n",sum);
	}
	
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 0
Wrong Answer
time: 5ms
memory: 3896kb

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
37
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
40
27
15
29...

result:

wrong answer 588th numbers differ - expected: '31', found: '32'

Subtask #2:

score: 0
Wrong Answer

Test #8:

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

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
60
47
74
69
77
43
60
61
66
60
87
63
56
52
64
67
42
69
44
69
71
81
70
53
72
81
57
41
67
77
66
53
58
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
29
66
66
57
64
74
66
52
86
44
57
62
59
59
52
59
63
58
52
64
61

result:

wrong answer 40th numbers differ - expected: '43', found: '44'

Subtask #3:

score: 0
Wrong Answer

Test #15:

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

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
435
377
402
371
438
474
398
408
397
392
421
434
432
414
401
436
374
434
456
467
424
422
431
399
463
430
473
403
378
359
403
409
435
471
442
370
455
460
415
393
405
434
453
398
451
421
340
417
402
391
440
439
381
415
420
435
427
410
410
342
410
399
389
385
442
393
436
430
465
389
432
409
...

result:

wrong answer 4th numbers differ - expected: '434', found: '435'

Subtask #4:

score: 0
Wrong Answer

Test #22:

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

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
508
526
545
484
515
522
495
485
530
472
477
467
543
490
485
500
448
538
528
554
495
517
457
486
469
533
502
493
550
535
476
541
523
541
560
475
496
528
474
565
468
492
476
518
512
567
515
545
488
484
496
543
513
540
455
493
516
459
534
477
517
576
445
488
499
558
555
450
492
504
489
506
538
543
...

result:

wrong answer 2nd numbers differ - expected: '503', found: '508'

Subtask #5:

score: 0
Wrong Answer

Test #29:

score: 0
Wrong Answer
time: 69ms
memory: 3856kb

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
525
535
549
526
533
538
523
540
529
535
513
516
523
523
513
496
497
496
486
548
521
533
476
488
520
506
502
601
562
559
540
532
539
497
548
516
497
516
536
485
573
532
486
509
496
492
516
548
535
529
526
491
565
453
493
541
563
532
498
518
477
546
507
545
521
491
...

result:

wrong answer 13th numbers differ - expected: '524', found: '526'