QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#736569#9620. osu!maniathe_foolAC ✓0ms3788kbC++201.3kb2024-11-12 11:47:142024-11-12 11:47:16

Judging History

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

  • [2024-11-12 11:47:16]
  • 评测
  • 测评结果:AC
  • 用时:0ms
  • 内存:3788kb
  • [2024-11-12 11:47:14]
  • 提交

answer

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

using LL = long long;

struct frac {
    LL a, b;
    frac(LL _a, LL _b) {
        int g = gcd(_a, _b);
        a = _a / g;
        b = _b / g;
    }
    frac(LL k) : a(k), b(1) {}

    frac operator+(const frac &p) const {
        auto [c, d] = p;
        return {a * d + b * c, b * d};
    }

    frac operator-(const frac &p) const {
        auto [c, d] = p;
        return *this + frac(-c, d);
    }

    frac operator*(const frac &p) const {
        auto [c, d] = p;
        return {a * c, b * d};
    }

};

void solve() {
    LL ppmax, a, b, c, d, e, f;
    cin >> ppmax >> a >> b >> c >> d >> e >> f;

    frac x(300 * a + 300 * b + 200 * c + 100 * d + 50 * e, 3 * (a + b + c + d + e + f));
    frac y = frac(320 * a + 300 * b + 200 * c + 100 * d + 50 * e, 320 * (a + b + c + d + e + f)) - frac(4, 5);
    if (y.a < 0) {
        y = {0, 1};
    }
    y = y * 5 * ppmax;

    cout << setprecision(2) << fixed;
    cout << (long double)(x. a) / x.b << "% ";
    cout << LL((long double)(y.a) / y.b + 0.5) << "\n";
}

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

    int t = 1;
    cin >> t;
    while (t--) {
        solve();
    }
}

/*
2
630
3029 2336 377 41 10 61
3000
20000 10000 0 0 0 0
*/

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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