CCF NOI1041. 志愿者选拔【sort】
原题链接:1041. 志愿者选拔
时间限制: 1000 ms 空间限制: 262144 KB 具体限制
题目描述
世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取m名志愿者,则面试分数线为排名第m*150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。
现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。
输入
第一行,两个整数n,m(5 ≤ n ≤ 5000,3 ≤ m ≤ n),中间用一个空格隔开,其中n 表示报名参加笔试的选手总数,m 表示计划录取的志愿者人数。输入数据保证m*150%向下取整后小于等于n。
第二行到第 n+1 行,每行包括两个整数,中间用一个空格隔开,分别是选手的报名号k(1000 ≤ k ≤ 9999)和该选手的笔试成绩s(1 ≤ s ≤ 100)。数据保证选手的报名号各不相同。
输出
第一行,有两个整数,用一个空格隔开,第一个整数表示面试分数线;第二个整数为进入面试的选手的实际人数。
从第二行开始,每行包含两个整数,中间用一个空格隔开,分别表示进入面试的选手的报名号和笔试成绩,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。
样例输入
6 3 1000 90 3239 88 2390 95 7231 84 1005 95 1001 88
样例输出
88 5 1005 95 2390 95 1000 90 1001 88 3239 88
提示
m*150% = 3*150% = 4.5,向下取整后为4。保证4个人进入面试的分数线为88,但因为88有重分,所以所有成绩大于等于88的选手都可以进入面试,故最终有5个人进入面试。
题记:
我把选手的报名号、笔试成绩定义在一个结构体里,使用C++库函数sort。
个人认为是最好的做法。
sort的类似用法的题:CCF NOI1042. 发奖学金【sort】
C++程序如下:
#include <iostream>
#include <algorithm>using namespace std;
const int N=5000;struct people{int k; //报名号 int s; //笔试成绩
};int cmp(const people &a, const people &b){if(a.s != b.s)return a.s > b.s;elsereturn a.k < b.k;
}int main()
{int n, m, pass_number;cin >> n >> m;people p[n];pass_number = m * 1.5;for(int i=0; i<n; i++)cin >> p[i].k >> p[i].s ;sort(p, p+n, cmp); //按要求排序for(int i=pass_number; i<n; i++){if(p[i].s == p[pass_number-1].s)pass_number ++;elsebreak;} //考虑分数在及格线的选手有多名的情况 cout << p[pass_number-1].s << " " << pass_number << endl;for(int i=0; i<pass_number; i++){cout << p[i].k << " " << p[i].s << endl;}return 0;
}
CCF NOI1041. 志愿者选拔【sort】相关推荐
- CCF NOI1041 志愿者选拔
问题链接:CCF NOI1041 志愿者选拔. 时间限制: 1000 ms 空间限制: 262144 KB 题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A市对所 ...
- FZU 1894 志愿者选拔
Problem 1894 志愿者选拔 Accept: 2308 Submit: 7003 Time Limit: 1500 mSec Memory Limit : 32768 KB Problem D ...
- CCF NOI 1041.志愿者选拔
题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根据计划录取人数的150%划定,即 ...
- 全国计算机noi,【坑爹】中国计算机学会关于CCF NOI省内选拔的若干规定
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 为规范各省参加CCF NOI(以下简称NOI)选手的选拔方式,中国计算机学会特制定如下规则. 1.省选是各省选拔参加NOI选手的必要环节,各省必须组织省选 ...
- 暑期训练狂刷系列——Foj 1894 志愿者选拔 (单调队列)
题目连接: http://acm.fzu.edu.cn/problem.php?pid=1894 解题思路: 因为出队和入队都满足队列的性质,优先单调队列的优先级有进入队列的顺序和人品的高低,在一段区 ...
- FZU 1894 志愿者选拔 - 单调队列
题目描述 分析: 暴力肯定过不了.维护一个从大到小的单调队列. 想清楚这些事: 1. 如果前面有人的val比当前加入队伍的人的val小,那么前面那个人的val永远对答案没有贡献,可以删去. 2. 再有 ...
- FOJ1897志愿者选拔
如果是Q命令,则判断当前队列中是否仍有元素,如果没有则输出-1,如果有则直接输出队首. 如果是G命令,则对last加1,之后对于队列中所有超出范围的前端元素进行出队操作.(该元素在原序列中的位置> ...
- 志愿者:一块最没有悬念的金牌
志愿者:一块最没有悬念的金牌 黄宾 奥运会开幕前,闫春盛在窗前向往他的即将到来的志愿者生活 10万赛会志愿者,40万城市志愿者,100万社会志愿者以及20万拉拉队志愿者,北京举行的这第29届奥运会无疑 ...
- 博弈论(Bash博弈、Nim博弈、SG函数、组合博弈)
组合博弈入门 一.博弈论三条性质: 终结点为P点 P点只能到N点 N点至少有一种途径到P点 N:必胜态 P:必败态 1.引导题 1846 Brave Game 题目大意: n个石子两人轮流取1~ ...
最新文章
- vscode创建工作区_区领导调研工业区高楼村乡村振兴示范村创建工作!
- Java----代码优化篇
- nowcoder 河 我 车 题 错 天 乐 赛 倍增处理
- (一)Neo4j在Centos7虚拟机上的安装
- SpriteBuilder物理对象的父子关系
- 针织erp_编程源于我们长期的针织工作
- Java面试题:final修饰的对象,有几种初始化方式
- Navicat 教程:排序、查找或替换记录
- vue 数组遍历方法forEach和map的原理解析和实际应用
- Atitit 音频资源管理法 与教程 音频资源分类法 卡拉ok功能 人声消除给你教程 Atitit 音频功能常见工具与类库 Atitit 调整播放速率 Atitit、 ffmpeg录音 atit
- Python3,selenium动态下载某库PPT文档,省下的钱可以撸串了!!!
- Top 10 JavaScript编辑器,你在用哪个?
- python实现pearson相关性检验
- 解决scala 2.10.X 无法导入 actors的问题
- Git报错:another git process seems to be running in this repository
- socket服务器显示未响应,QTCPSOCKET 客户端已连接 而服务器无响应
- 『处女作』3 年经验前端第一次跳槽面试总结
- 因代码泄密,苹果将在电脑上使用人脸识别
- 9.1 DEP机制的保护原理
- 为知笔记MathJax使用教程