NC213850. [CSP2020]直播获奖(live)
描述
输入描述
第 行两个正整数 , 。分别代表选手总数与获奖率。
第 行有 个非负整数,依次代表逐一评出的选手成绩。
输出描述
只有一行,包含 个非负整数,依次代表选手成绩逐一评出后,即时的获奖分数线。相邻两个整数间用一个空格分隔。
示例1
输入:
10 60 200 300 400 500 600 600 0 300 200 100
输出:
200 300 400 400 400 500 400 400 300 300
说明:
示例2
输入:
10 30 100 100 600 100 100 100 100 100 100 100
输出:
100 100 600 600 600 600 100 100 100 100
C++(clang++ 11.0.1) 解法, 执行用时: 270ms, 内存消耗: 700K, 提交时间: 2023-03-24 21:35:55
#include<bits/stdc++.h> using namespace std; int n,w,s,z,x,a[601]; int main(){ cin>>n>>w; for(int i=1;i<=n;i++) { cin>>z; a[z]++; s=max(1,i*w/100); for(int j=600;j>=0&&s>0;j--) { s-=a[j]; x=j; } cout<<x<<' '; } return 0; }