QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#401668#8227. 圆New_hope0 152ms4100kbC++141.4kb2024-04-29 08:44:352024-04-29 08:44:35

Judging History

This is the latest submission verdict.

  • [2024-04-29 08:44:35]
  • Judged
  • Verdict: 0
  • Time: 152ms
  • Memory: 4100kb
  • [2024-04-29 08:44:35]
  • Submitted

answer

#include <bits/stdc++.h>
#define db double
using namespace std;

struct o
{
  int zh, xi;
  bool operator < (const o &a) const
  {
    return xi > a.xi;
  }
};
int T, n;
o a[1000005];

/*
*/
bool cmp(o x, o y)
{
  return (x.xi != y.xi ? x.xi < y.xi : x.zh < y.zh);
}
void solve()
{
  o w = {0, 0};
  priority_queue <o> q; 
  scanf("%d", &n);
  for (int i(1); i <= n; i ++) {
    db t; scanf("%lf", &t); 
    t *= 10;
    a[i].zh = (int)(t / 10);
    a[i].xi = (int)t % 10;
  }
  sort (a + 1, a + 1 + n, cmp);
  for (int i(1); i <= n; i ++) {
    if (q.empty()) {
      q.push(a[i]);
      continue;
    }
    o u = q.top();
    if (a[i].xi + u.xi >= 5) {
      q.pop();
      w.zh += a[i].zh + u.zh + (a[i].xi + u.xi + 5)/10;
    }
    else q.push(a[i]);
    // printf("w: %d.%d\n", w.zh, w.xi);
  }// 向上取整
  // printf("dfan\n");
  while (q.size()) {
    o u = q.top(); q.pop();
    // printf("u: %d.%d\n", u.zh, u.xi);
    if (u.xi + w.xi >= 5) 
      w.zh += u.zh + (u.xi + w.xi + 5)/10;
    else {
      w.zh += u.zh + (u.xi + w.xi)/10;
      w.xi = (u.xi + w.xi)%10;
    }
    // printf("w: %d.%d\n", w.zh, w.xi);
  }
  w.zh += (w.xi + 5)/10;
  printf("%d\n", w.zh);
}
int main()
{
  // freopen("test.out", "w", stdout);
  scanf("%d", &T);
  while (T --) solve();

  return 0;
}
/*
2
5
1.1 5.2 5.1 6.1 7.1
*/

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: 3872kb

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
22
24
34
28
9
30
22
26
26
26
26
34
19
22
29
26
24
19
34
19
21
24
23
31
23
17
24
30
22
28
8
28
36
16
23
15
36
22
24
27
22
23
30
27
26
22
30
7
34
17
29
31
32
24
25
28
27
19
27
15
29
10
30
30
25
30
13
26
11
29
17
29
27
19
21
36
27
21
27
19
27
31
18
45
36
20
26
31
27
22
18
17
39
27
16
29
...

result:

wrong answer 6th numbers differ - expected: '23', found: '22'

Subtask #2:

score: 0
Wrong Answer

Test #8:

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

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
65
52
77
54
54
73
58
64
67
49
56
77
54
69
62
35
76
64
53
54
60
45
72
66
76
42
59
62
66
63
87
62
56
51
61
66
43
67
42
68
67
78
69
53
68
80
57
41
65
76
65
55
56
71
61
55
57
73
51
70
58
40
78
55
54
62
65
48
72
49
48
61
49
50
72
76
63
67
31
64
65
56
64
73
65
51
85
46
55
62
58
57
52
54
61
55
51
63
61

result:

wrong answer 2nd numbers differ - expected: '66', found: '65'

Subtask #3:

score: 0
Wrong Answer

Test #15:

score: 0
Wrong Answer
time: 120ms
memory: 4100kb

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:

412
443
369
417
378
411
379
436
454
402
404
410
383
413
419
457
400
399
423
379
418
474
481
413
400
420
390
455
418
454
394
359
353
383
425
454
449
423
374
447
438
417
376
398
446
440
392
433
396
355
397
390
393
430
429
368
397
421
426
412
392
403
357
395
383
377
383
423
392
420
418
449
398
424
414
...

result:

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

Subtask #4:

score: 0
Wrong Answer

Test #22:

score: 0
Wrong Answer
time: 145ms
memory: 3812kb

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:

562
526
561
525
479
542
504
504
463
522
488
487
473
515
512
511
513
464
535
527
531
504
553
467
494
501
540
514
533
559
537
495
531
511
532
559
454
479
550
474
535
477
477
485
511
530
552
520
534
493
518
522
525
538
536
480
471
500
470
552
495
500
545
440
496
516
536
550
465
488
498
489
484
546
546
...

result:

wrong answer 1st numbers differ - expected: '543', found: '562'

Subtask #5:

score: 0
Wrong Answer

Test #29:

score: 0
Wrong Answer
time: 152ms
memory: 3884kb

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:

453
504
520
488
496
491
504
511
486
527
517
524
502
522
516
546
519
519
525
491
525
506
501
543
479
501
481
487
519
520
551
435
489
520
504
491
583
551
542
558
514
516
481
530
496
536
496
516
506
561
535
502
520
501
486
504
521
510
541
507
465
546
475
475
539
547
512
501
499
469
530
498
524
501
510
...

result:

wrong answer 1st numbers differ - expected: '459', found: '453'