题目名称 | 3499. [CSP 2020J]直播获奖 |
---|---|
输入输出 | csp2020pj_live.in/out |
难度等级 | ★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 20 |
题目来源 | syzhaoss 于2020-11-07加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:73, 提交:266, 通过率:27.44% | ||||
锝镆氪锂铽 | 100 | 0.059 s | 2.09 MiB | C++ |
456 | 100 | 0.069 s | 0.91 MiB | C++ |
456 | 100 | 0.076 s | 0.90 MiB | C++ |
yrtiop | 100 | 0.079 s | 0.71 MiB | C++ |
1nclude | 100 | 0.100 s | 3.43 MiB | C++ |
䱖虁職 | 100 | 0.137 s | 0.86 MiB | C++ |
梵高 | 100 | 0.168 s | 1.38 MiB | C++ |
梵高 | 100 | 0.184 s | 1.38 MiB | C++ |
梵高 | 100 | 0.206 s | 1.38 MiB | C++ |
1nclude | 100 | 0.279 s | 3.59 MiB | C++ |
关于 直播获奖 的近10条评论(全部评论) | ||||
---|---|---|---|---|
#include<bits/stdc++.h>
using namespace std; int n,w,r; long long a[100001]={0}; int px(int i){ int k,t; for(int l=1;l<=i;l++){ k=l; for(int j=l+1;j<=i;j++){ if(a[j]>a[k])k=j; if(k!=l){ t=a[l]; a[l]=a[k]; a[k]=t; } } } } int main() { freopen("csp2020pj_live.in","r",stdin); freopen("csp2020pj_live.out","w",stdout); cin>>n>>w; for(int i=1;i<=n;i++){ cin>>a[i]; r=i*w/100; if(r==0)r++; px(i); cout<<a[r]<<" "; } }
lgy
2024-10-20 17:35
8楼
| ||||
超时。。。
| ||||
回复 @御坂美琴 :
-_-||
tony
2020-11-19 20:17
6楼
| ||||
回复 @闹闹 :
sb
tony
2020-11-19 20:16
5楼
| ||||
请问谁敢抄
闹闹
2020-11-19 20:03
4楼
| ||||
回复 @御坂美琴 :
gm,nhjnmtrklhtrgijoteyio0;aerhoh
D
2020-11-19 20:02
3楼
| ||||
我被吓到了,真的。。。
御坂美琴
2020-11-19 19:59
2楼
| ||||
CSP2020纪念
|
NOI2130 即将举行。为了增加观赏性,CCF 决定逐一评出每个选手的成绩,并直播即时的获奖分数线。本次竞赛的获奖率为$w\%$,即当前排名前 $w\%$ 的选手的最低成绩就是即时的分数线。
更具体地,若当前已评出了 $p$个选手的成绩,则当前计划获奖人数为 $\max(1,\lfloor p\times w\%\rfloor)$,其中 $w$ 是获奖百分比,$\lfloor x\rfloor$ 表示对 $x$ 向下取整,$\max(x,y)$表示 $x$ 和 $y$ 中较大的数。如有选手成绩相同,则所有成绩并列的选手都能获奖,因此实际获奖人数可能比计划中多。
作为评测组的技术人员,请你帮 CCF写一个直播程序。
第 1 行两个正整数 $n$, $w$。分别代表选手总数与获奖率。
第 2 行有 $n$ 个非负整数,依次代表逐一评出的选手成绩。
只有一行,包含 $n$ 个非负整数,依次代表选手成绩逐一评出后,即时的获奖分数线。相邻两个整数间用一个空格分隔。
10 60 200 300 400 500 600 600 0 300 200 100
200 300 400 400 400 500 400 400 300 300
注意,在第 9 名选手的成绩评出之后,计划获奖人数为 5 人,但由于有并列,因此实际会有 6 人获奖。
10 30 100 100 600 100 100 100 100 100 100 100
100 100 600 600 600 600 100 100 100 100
见选手目录下的live/live3.in 与live/live3.ans。
对于所有测试点,每个选手的成绩均为不超过 600 的非负整数,获奖百分比 $w$ 是一个正整数且 $1\leq w \leq 99$。
在计算计划获奖人数时,如用浮点类型的变量(如 C/C++中的 float、double,Pascal 中的 real、double、extended 等)存储获奖比例 $w\%$,则计算 $5\times 60$ 时的结果可能为 $3.000001$,也可能为 $2.999999$,向下取整后的结果不确定。因此,建议仅使用整型变量,以计算出准确值。
CSP 2020PJ Task2