HDU---Problem B
来源:互联网 发布:选眼镜软件 编辑:程序博客网 时间:2024/06/06 02:20
Problem B
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 307 Accepted Submission(s) : 63
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
2020年东京奥运会志愿者选拔,选拔原则择优录取,选拔委员会对所有报名的志愿者进行笔试,笔试分数达到面试分数线的志愿者方可进行面试。面试分数线根据计划录取人数的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)。数据保证志愿者的报名号各不相同。
测试有多个用例。
第二行到第n+1行,每行输入两个整数,中间用空格隔开,分别表示志愿者报名号k(1000<=k<=9999)和该志愿者的笔试成绩s(1<=s<=100)。数据保证志愿者的报名号各不相同。
测试有多个用例。
Output
第一行输出两个整数,用空格隔开,第一个整数表示面试分数线;第二个整数为进入面试的志愿者实际人数。
第二行开始分别输出进入面试的志愿者的报名号和笔试成绩,中间用空格隔开,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。
第二行开始分别输出进入面试的志愿者的报名号和笔试成绩,中间用空格隔开,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。
Sample Input
6 31000 903239 882390 957231 841005 951001 88
Sample Output
88 51005 952390 951000 901001 883239 88
#include<cstdio>#include<algorithm>#include<cmath>#include<cstring>using namespace std;struct A{ int k,s;}f[5010],q[5010];bool cmp(A x,A y){ if(x.s==y.s) return x.k<y.k; return x.s>y.s;}bool cmp1(int x,int y){ return x>y;}int main(){ int n,m,avg; int a[5010]; while(~scanf("%d %d",&n,&m)) { for(int i=0;i<n;i++) { scanf("%d %d",&f[i].k,&a[i]); f[i].s=a[i];//a[]数组用来保存笔试成绩 } sort(a,a+n,cmp1);//对笔试成绩排序 sort(f,f+n,cmp);//对结构体排序 int l=(int)(m*1.5);//取整 int ans=0,ll=0; for(int i=0;i<n;i++) { if(f[i].s>=a[l-1])//a[l-1]就是面试的分数线,因为下标是从0开始的, //而名次是从1开始的,所以减1, { ans++;//ans就是面试成功的人数了 q[ll].k=f[i].k;//把面试成功的人数存在另一结构体数组里 q[ll++].s=f[i].s; } } printf("%d %d\n",a[l-1],ans); for(int i=0;i<ans;i++) { printf("%d %d\n",q[i].k,q[i].s); } } return 0;}
阅读全文
0 0
- hdu A + B problem
- HDU Problem B
- HDU 5686 Problem B
- HDU - 5686 Problem B
- hdu 5686 Problem B
- HDU---Problem B
- hdu A + B Problem II
- hdu 3828 A + B problem
- HDU 3828 A+B problem
- hdu 1000 A + B Problem
- [HDU]1000(A+B Problem)
- HDU 1000 A + B Problem
- HDU--1000--A + B Problem
- hdu - 1000 - A + B Problem
- HDU 1000 A + B Problem
- hdu 1002 A+B problem ||
- hdu-A+B Problem Too
- hdu A + B Problem II
- ENUM:枚举类型
- js 实现排列组合
- 解决 UnityEditor.AsyncHTTPClient:Done
- java实现美团之已知某公司总人数为W,平均年龄为Y岁(每年3月末计算,同时每年3月初入职新人),假设每年离职率为x,x>0&&x<1,每年保持所有员工总数不变进行招聘,新员工平均年龄21岁。 从今
- jQuery 获取元素被转义
- HDU---Problem B
- 第四届“图灵杯”NEUQ-ACM程序设计竞赛部分题解
- java实现百度之C市现在要转移一批罪犯到D市,C市有n名罪犯,按照入狱时间有顺序,另外每个罪犯有一个罪行值,值越大罪越重。现在为了方便管理,市长决定转移入狱时间连续的c名犯人,同时要求转移犯人的罪行
- 【收费重构】“找不到文件DAO350.DLL”的解决办法l
- struts2+hibernate+spring配置版框架搭建以及简单测试(方便脑补)
- 线程死锁
- 数论题 (牛客网)
- Tensorflow learning 1 -- Installation without GPU on ubuntu 16.04
- 六款主流免费网络嗅探软件wireshark,tcpdump,dsniff,Ettercap,NetStumbler