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);
}

[NOIP2009普及]分数线划定 T2 排序的更多相关文章

  1. 洛谷 P1068 分数线划定【排序+模拟】

    世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,AA市对 所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根 据计划录取人数的150\%150%划 ...

  2. NOIP2009分数线划定【B004】

    [B004]分数线划定[难度B]—————————————————————————————————————————————————————————————————————————— [题目要求] 世博 ...

  3. 【6.18校内test】T2分数线划定

    分数线划定[题目链接] 这道题也不是什么难题,思路一带而过吧: SOLUTION: First.输入n,m,计算m*1.5的值,接着输入编号和成绩,然后我的做法是在输入编号成绩之后,开一个101大小的 ...

  4. 洛谷——P1068 分数线划定

    P1068 分数线划定 题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A 市对 所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根 据 ...

  5. 洛谷 P1068 分数线划定

    P1068 分数线划定 题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A 市对 所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根 据 ...

  6. luogu P1068 分数线划定 x

    P1068 分数线划定 题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A 市对 所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根 据 ...

  7. [NOIP2009] 普及组

    多项式输出 模拟 /*by SilverN*/ #include<algorithm> #include<iostream> #include<cstring> # ...

  8. NOIP200902分数线划定

    NOIP200902分数线划定 描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根据 ...

  9. zufeoj 分数线划定

    分数线划定 时间限制: 1 Sec  内存限制: 128 MB提交: 13  解决: 7[提交][状态][讨论版] 题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A ...

随机推荐

  1. python如何输出矩阵的行数与列数?

    Python如何输出矩阵的行数与列数? 对于pyhton里面所导入或者定义的矩阵或者表格数据,想要获得矩阵的行数和列数有以下方法: 1.利用shape函数输出矩阵的行和列 x.shape函数可以输出一 ...

  2. 无线渗透--wifiphisher之wifi钓鱼获取wifi密码

    本来是想试验一下暴力破解的,但是由于字典太大,跑的时间也比较长,于是使用了钓鱼的方法. 先说一下wifiphisher钓鱼获取wifi密码的原理: wifiphisher对于你在攻击中选定的wifi会 ...

  3. 预备JS执行环境,预执行脚本

    page.evaluateOnNewDocument(pageFunction, ...args) pageFunction <function|string> Function to b ...

  4. hdu 1533 Going Home 最小费用最大流 (模板题)

    Going Home Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  5. firewalld学习--维护命令

    启动 systemctl start firewalld 停止 systemctl stop firewalld 重启 systemctl restart firewalld 查询状态 systemc ...

  6. blog编辑技巧

    blog里添加目录 添加版权声明 其他 更新日志: 20190719, 添加目录,增加章节:[添加版权声明] blog里添加目录 https://szosoft.blogspot.com/需要使用绝对 ...

  7. ahk键盘增强✨✨✨

    ahk键盘增强✨✨✨ ahk的一个键盘增强脚本,仅在winwods下可用,长期更新 仓库链接 首先感谢ahk的大神们,这个工具能极大地增加生产力 功能简介 myahk旨在增强windows下的键盘功能

  8. gem5-gpu 选项解释

    ‘--split’ ,该项用于模拟独立显卡,GPU与CPU不在同一芯片上,两者的内存物理上隔绝,使用PCI-Express连接. ‘--access-host-pagetable’,该项用于模拟集成显 ...

  9. Python中语法糖及带参语法糖

    在python中,@符号常被称作语法糖(装饰器),在某函数定义时,用以包装该函数,以达到截取,控制该函数的目的. def d(f): print('d...') k=f #此处保留了传进来的原函数 f ...

  10. Day 28:SAX解析原理

    SAX解析 回顾DOM解析 DOM解析原理:一次性把xml文档加载进内存,然后在内存中构建Document树. 缺点: 不适合读取大容量的xml文件,容易导致内存溢出. SAX解析原理: 加载一点,读 ...