QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#741106#9620. osu!maniachatoyane#AC ✓0ms3784kbC++201.1kb2024-11-13 13:21:512024-11-13 13:21:51

Judging History

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

  • [2024-11-13 13:21:51]
  • 评测
  • 测评结果:AC
  • 用时:0ms
  • 内存:3784kb
  • [2024-11-13 13:21:51]
  • 提交

answer

#include <bits/stdc++.h>

using namespace std;

using LL = long long;
using db = long double;
#define endl '\n'

const db eps = 1e-10;

void solve()
{
    LL ppmax;
    cin >> ppmax;
    vector<LL> a(6);
    for (int i = 0; i < 6; ++i)
        cin >> a[i];

    LL sum = accumulate(a.begin(), a.end(), 0LL);
    vector<LL> val = {300, 300, 200, 100, 50, 0};
    db acc = 0;
    for (int i = 0; i < 6; ++i)
        acc += a[i] * val[i];
    acc /= db(300LL * sum);
    acc *= 100;

    db b = 0;
    val[0] = 320;
    for (int i = 0; i < 6; ++i)
        b += a[i] * val[i];
    // b /= db(320LL * sum);
    db pp = max(b - 256 * sum, (db)0) * (db)5 * (db)ppmax / (320LL * sum);
    // cerr << "pp = " << pp << endl;
    // cerr << "pp + 0.5 = " << pp + 0.5 << endl;
    LL tpp = floorl(pp + 0.500);
    cout << fixed << setprecision(2) << acc << "%" << " ";
    cout << tpp << endl;
}

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int T;
    cin >> T;
    while (T--)
        solve();

    return 0;
}

详细

Test #1:

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

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