[NOIP2009普及]分数线划定 T2 排序
2024-10-08 16:31:43
Description
世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定, 即如果计划录取m名志愿者, 则面试分数线为排名第m*150%
(向下取整) 名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。
现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。
Input
第一行,两个整数 n,m(5 ≤ n ≤ 5000,3 ≤ m ≤ n) ,中间用一个空格隔开,其中 n 表示报名参加笔试的选手总数,m表示计划录取的志愿者人数。输入数据保证 m*150%向下取整后小于等于 n。
第二行到第 n+1 行,每行包括两个整数,中间用一个空格隔开,分别是选手的报名号 k(1000 ≤ k ≤ 9999)和该选手的笔试成绩 s(1 ≤ s ≤ 100) 。数据保证选手的报名号各不相同。
Output
第一行,有两个整数,用一个空格隔开,第一个整数表示面试分数线;第二个整数为进入面试的选手的实际人数。
从第二行开始,每行包含两个整数,中间用一个空格隔开,分别表示进入面试的选手的报名号和笔试成绩,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。
Sample Input
6 3
1000 90
3239 88
2390 95
7231 84
1005 95
1001 88
Sample Output
88 5
1005 95
2390 95
1000 90
1001 88
3239 88
HINT
【样例说明】
m*150% = 3*150% = 4.5,向下取整后为 4。保证4个人进入面试的分数线为 88,但因为 88有重分,所以所有成绩大于等于 88的选手都可以进入面试,故最终有 5 个人进入面试。
Solution
一道结构体排序题,先按成绩排序,如果成绩相同则按编号排序,算出分数线依次输出即可。
Code
#include <stdio.h>
#include <algorithm>
using namespace std;
struct note
{
int num;
int score;
}prt[];
bool cmp(const note &a,const note &b)
{
return a.score!=b.score?a.score>b.score:a.num<b.num;
//结构体排序
}
int down(int x)
{
return x*/;
//计算作为分数线的人的排名
}
int main()
{
int n,m;
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
scanf("%d%d",&prt[i].num,&prt[i].score);
sort(prt+,prt+n+,cmp);//结构体排序
int std=prt[down(m)].score;//分数线
int ans=;
for(int i=;i<=n;i++)
if(std<=prt[i].score)
ans++;//过线的人数
printf("%d %d\n",std,ans);
for(int i=;i<=ans-;i++)
printf("%d %d\n",prt[i].num,prt[i].score);
printf("%d %d",prt[ans].num,prt[ans].score);
}
最新文章
- Java中的泛型 (上) - 基本概念和原理
- Eclipse中一个Maven工程的目录结构
- XAML UserControl的继承
- eclipse下创建maven项目
- JAVA使用堆外内存导致swap飙高
- django--模型元选项(八)
- 黄聪:MySql Host is blocked because of many connection errors; unblock with &#39;mysqladmin flush-hosts&#39; 解决方法(转)
- poj1226,poj3080
- 数据库中操作XML(openXML)
- 24、手把手教你Extjs5(二十四)模块Form的自定义的设计[3]
- 解析:type t_string is table of varchar2(32767) index by binary_integer
- Pyspider框架
- JS中=>;,>;>;>;是什么意思
- python 全栈开发,Day25(复习,序列化模块json,pickle,shelve,hashlib模块)
- ZZNU 正约数之和
- 一个canvas的demo
- Docker 使用入门,创建一个Nginx服务器
- log4net日志的简单配置
- Automapper问题记录
- Log4j使用指南
热门文章
- 范数(norm)
- 配置antMatchers(HttpMethod.GET,";/**";).permitAll()当时仍然会校验
- Matplotlib 图形绘制
- docker-compose 修改zabbix images 添加微信报警插件 时间同步 中文乱码 添加grafana美化zabbix
- Golang编程的工程管理
- 洛谷 P2725 邮票 Stamps
- sourcetree的安装
- 008-PHP定义数组
- 使用Picasso实现图片圆角和图片圆形
- 创建一个TCP代理