编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#10453 #129. 贿赂程基会长 Accepted 100 443 ms 8684 K C++ 17 / 931 B OrangeQWQ 2023-09-24 20:35:54
显示原始代码
#include <algorithm>
#include <iostream>
#include <vector>

using namespace std;
using ll = long long;
using db = double;
using PDL = pair<db, ll>;

int main() {
    db ans = 0;
    int n, k, s, cnt = 0;
    vector<PDL> p(n * 2);

    cin >> n >> k >> s;
    for (int i = 1; i <= n; i++) {
        int x, y;
        cin >> x >> y;  // num value
        if (x > k) {
            p.push_back({ y, k });
            p.push_back({ y / 2.0, x - k });
        } else
            p.push_back({ y, x });
    }

    sort(p.begin(), p.end(), greater<PDL>());

    for (auto t : p) {
        double v = t.first;
        ll m = t.second;
        if (cnt + m < s)
            ans += m * v, cnt += m;
        else {
            ans += (s - cnt) * v;
            break;
        }
        // else if (cnt + m >= s && cnt < s)
        // ans += (s - cnt) * v, cnt = s;
    }
    printf("%.1lf\n", ans);
}
子任务 #1
Accepted
得分:100
测试点 #1
Accepted
得分:100
用时:2 ms
内存:372 KiB

输入文件(1.in

3 2 5
6 1
3 2
1 8

答案文件(1.out

14.0

用户输出

14.0

系统信息

Exited with return code 0
测试点 #2
Accepted
得分:100
用时:106 ms
内存:4468 KiB

输入文件(2.in

200000 196278 184476
4 71769
1 80981
3 52592
2 51245
3 92838
4 11124
1 31249
4 94098
1 4354
<1777523 bytes omitted>

答案文件(2.out

15595936121.0

用户输出

15595936121.0

系统信息

Exited with return code 0
测试点 #3
Accepted
得分:100
用时:164 ms
内存:8684 KiB

输入文件(3.in

200000 1 128797
1013 47567
3249 53991
7257 8721
4633 7331
4107 22283
2511 83125
8905 90229
1
<2355567 bytes omitted>

答案文件(3.out

8927236582.5

用户输出

8927236582.5

系统信息

Exited with return code 0
测试点 #4
Accepted
得分:100
用时:171 ms
内存:8684 KiB

输入文件(4.in

200000 1083 190843
2135 50635
8259 70563
3359 13579
9453 47829
9783 46909
7951 54663
8071 208
<2355345 bytes omitted>

答案文件(4.out

19075642841.0

用户输出

19075642841.0

系统信息

Exited with return code 0