QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#745389#9620. osu!maniaYurily#AC ✓0ms3812kbC++201.1kb2024-11-14 09:39:032024-11-14 09:39:04

Judging History

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

  • [2024-11-14 09:39:04]
  • 评测
  • 测评结果:AC
  • 用时:0ms
  • 内存:3812kb
  • [2024-11-14 09:39:03]
  • 提交

answer

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;

const double eps = 1e-6;

    int ppmax;
    int a, b, c, d, e, f;
    int acc1, acc2, pp1, pp2;
    double acc, pp;

void sol(){
    scanf("%d%d%d%d%d%d%d", &ppmax, &a, &b, &c, &d, &e, &f);

    acc1 = 300 * a + 300 * b + 200 * c + 100 * d + 50 * e;
    acc2 = 300 * (a + b + c + d + e + f);
    acc = 1.0 * acc1 / acc2;

    pp = max(0.0, (320 * a + 300 * b + 200 * c + 100 * d + 50 * e) 
                / 320 / (a + b + c + d + e + f) - 0.8) * 5 * ppmax;
    pp1 = (320 * a + 300 * b + 200 * c + 100 * d + 50 * e);
    pp2 =  320 * (a + b + c + d + e + f);
    pp = max(0.0,  (1.0 * pp1 / pp2 - 0.8) * 5 * ppmax);

    if(abs(acc - 0) < eps)
        acc = 0.00001;
    if(abs(pp - ((int)pp + 0.5)) < eps)
        pp = pp + 0.1;
        
    // printf("%d %d %d %d\n", acc1, acc2, pp1, pp2);
    printf("%.2lf%% %.0lf\n", acc * 100, pp);
}

int main(){
    int T;
    scanf("%d", &T);
    while(T--)
        sol();

    return 0;
}

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 3812kb

input:

18
1279
4624 4458 1109 220 103 314
753
3604 3204 391 33 9 29
807
5173 3986 763 84 29 96
718
576 461 60 5 2 7
947
4058 3268 764 169 42 158
568
2660 1731 161 16 6 15
641
4181 3126 656 56 10 43
630
3029 2336 377 41 10 61
529
1991 1354 181 11 9 5
1802
8321 2335 115 19 11 27
1645
3965 1087 41 6 1 13
1688...

output:

91.54% 543
97.40% 543
95.75% 523
97.12% 513
93.38% 499
98.16% 444
96.19% 430
96.20% 423
97.74% 400
99.19% 1604
99.38% 1482
99.14% 1465
98.53% 1251
100.00% 2688
100.00% 1792
100.00% 3000
52.78% 0
0.00% 0

result:

ok 18 lines