洛谷P7072

P7072 [CSP-J2020] 直播获奖

数据量小的时候,桶排序非常好用

点击查看代码
#include<bits/stdc++.h>
using namespace std;

int t[610], n, w;
//t是成绩桶,计算目前得到该分数的有多少人
int main() {
    cin >> n >> w;
    int tmp;//临时存储选手成绩
    for(int i = 0; i < n; i++) {
        cin >> tmp;
        t[tmp]++;
        //由于直播计算获奖人数的特殊性
        //每出一位选手成绩,获奖数据都要重新算
        int sum = 0;//用来记录获奖人数
        for(int j = 600; j >= 0; j--) {//从最高分往下数获奖人数
            sum += t[j];
            if(sum >= max(1, (i + 1) * w / 100)) {
                cout << j << ' ';//获奖所需最低分数
                break;
            }
        }
    }
    return 0;
}
posted @ 2025-05-09 13:03  Chuan81  阅读(10)  评论(0)    收藏  举报