QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#746682#9620. osu!maniaguodong#AC ✓0ms3884kbC++171.1kb2024-11-14 15:15:562024-11-14 15:15:56

Judging History

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

  • [2024-11-14 15:15:56]
  • 评测
  • 测评结果:AC
  • 用时:0ms
  • 内存:3884kb
  • [2024-11-14 15:15:56]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main(){
    int t;
    scanf("%d", &t);
    while(t--){
        int ppmax, a, b, c, d, e, f;
        scanf("%d%d%d%d%d%d%d", &ppmax, &a, &b, &c, &d, &e, &f);
        
        // int x = (300 * a + 300 * b + 200 * c + 100 * d + 50 * e + 0 * f), y = 300 * (a + b + c + d + e + f);
        // printf("%d %d\n", x, y);
        
        // long double res = (long double) 1.0 * x / y;
        // printf("%.13Lf\n", res);
        ll acc = 100000ll * (300 * a + 300 * b + 200 * c + 100 * d + 50 * e + 0 * f) / (300 * (a + b + c + d + e + f));
        if(acc % 10 < 5) acc = acc / 10;
        else acc = acc / 10 + 1;
        ll pp = max(0ll, 1ll * (320 * a + 300 * b + 200 * c + 100 * d + 50 * e + 0 * f) * 50 * ppmax / (320 * (a + b + c + d + e + f)) - 40 * ppmax);
        if(pp % 10 < 5) pp = pp / 10;
        else pp = pp / 10 + 1;
        printf("%lld.%lld%lld", acc / 100, acc % 100 / 10, acc % 100 % 10);
        putchar('%');
        printf(" %lld\n", pp);
    }
    return 0;
}

详细

Test #1:

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

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