#CSPJ2020T2. 2020 T2 直播获奖

2020 T2 直播获奖

2020 T2 直播获奖

主知识点:排序与计数。交叉标签:排序、计数、枚举。
暴力标注:不属于重点 DP 退路题。
OJ 使用标准输入与标准输出。原比赛文件名为 live.in / live.out;下方如保留原文件约定,以本句的 OJ 约定为准。
时限 1 秒;内存 256 MiB;测试点 20;总分 100。
数据来源:公开存档数据;未逐文件对照官网下载包。

题目描述

选手的成绩依次公布,每公布一个成绩就计算当前获奖线。若已公布 pp 个成绩,获奖人数为 max⁡(1,⌊pw/100⌋)\max(1,\lfloor pw/100\rfloor),获奖线是这些成绩按从高到低排列时第该人数名的成绩。依次输出每次公布后的获奖线。

输入格式

第一行有两个整数 n,wn, w, 分别代表选手总数与获奖率。
第二行有 nn 个整数,依次代表逐一评出的选手成绩。

输出格式

只有一行,包含 nn 个非负整数,依次代表选手成绩逐一评出后,即时的获奖分数线。相邻两个整数间用一个空格分隔。

样例

样例 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

数据范围与特殊性质

各测试点的 nn 如下表:

测试点编号 n=n=
1∼31 \sim 3 1010
4∼64 \sim 6 500500
7∼107 \sim 10 20002000
11∼1711 \sim 17 10410^4
18∼2018 \sim 20 10510^5

对于所有测试点,每个选手的成绩均为不超过 600600 的非负整数,获奖百分比 ww 是一个正整数且 1≤w≤991 \le w \le 99。


提示

在计算计划获奖人数时,如用浮点类型的变量(如 C/C++ 中的 float 、 double,Pascal 中的 real 、 double 、 extended 等)存储获奖比例 w%w\%,则计算 5×60%5 \times 60\% 时的结果可能为 3.0000013.000001,也可能为 2.9999992.999999,向下取整后的结果不确定。因此,建议仅使用整型变量,以计算出准确值。

附加样例

本题的公开样例整理在对应的“样例”ZIP 中。样例不计入评测测试点;题面中的样例也已保留。

来源与整理说明

题目原作者/发布者:中国计算机学会 CCF / NOI。题意经过改写,保留公式、输入输出、样例及约束;知识点和暴力标注为本次整理补充。