1180:分数线划定

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 15750     通过数: 7408

【题目描述】

世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取mm名志愿者,则面试分数线为排名第m×150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。

现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。

【输入】

第一行,两个整数n,m(5≤n≤5000,3≤m≤n)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个人进入面试。

【分析】

插入排序思想:回忆一下打牌时抓牌的情景,为了方便打牌,抓牌时,一般一边抓牌一边按花色和大小插入恰当的位置。当读入一个元素时,在已经排序好的序列中,搜寻正确的位置,再放入读入的元素,但不应该忽略一个重要的问题:在插入这个元素前,应当先将它后面的所有元素后移一位,以保证插入位置的原元素不被覆盖。

【参考代码】

#include <stdio.h>
#define N 5010
struct node
{
    int num;
    int score;
}stu[N],t;

void insertion_Sort(struct node x[],int n)
{
    int i,j,k;
    for(i=0;i<n;i++)
    {
        for(j=i-1;j>=0;j--) //前面有序区间中为x[i]找合适的插入位置 
        {
            if(x[j].score > x[i].score)   //找到比x[i]大的位置就退出,插入其前面 
                break;
            else if(x[j].score==x[i].score && x[j].num < x[i].num)
                break;
                
        }
        if(j!=i-1)
        {
            t=x[i];             //将比x[i]小的数据向后移 
            for(k=i-1;k>j;k--)
                x[k+1]=x[k];    //将x[i]放在正确位置上 
            x[k+1]=t;
        }
    }
}
int main()
{
    int i,j,n,m,f;
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++)
        scanf("%d%d",&stu[i].num,&stu[i].score);
    
    insertion_Sort(stu,n);
    f=m*1.5;
    while(stu[f].score==stu[f-1].score)
    {
        f++;
    }
    printf("%d %d\n",stu[f-1].score,f);
    for(i=0;i<f;i++)
        printf("%d %d\n",stu[i].num,stu[i].score);
    return 0;
}

http://ybt.ssoier.cn:8088/problem_show.php?pid=1180

信息奥赛一本通(1180:分数线划定)——插入排序相关推荐

  1. 信息奥赛一本通的递推练习

    信息奥赛一本通的递推练习 递推与动态规划 1313:位数问题 1314:过河卒 1194:移动路线 1196:踩方格 递推与动态规划 递推解决的问题中满足最优化原理的也是属于动态规划范畴 1313:位 ...

  2. 【算法•日更•第十二期】信息奥赛一本通1585:【例 1】Amount of Degrees题解

    废话不多说,直接上题: 1585: [例 1]Amount of Degrees 时间限制: 1000 ms         内存限制: 524288 KB 提交数: 130     通过数: 68 ...

  3. 信息奥赛一本通 三角形最佳路径问题 (1288) 题解

    信息奥赛一本通 三角形最佳路径问题 (1288) 题解 时间限制: 1000 ms 内存限制: 65536 KB 题目描述 如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 ...

  4. 信息学奥赛一本通 1180 | 1946:【09NOIP普及组】分数线划定 | OpenJudge NOI 1.10 05 | 洛谷 P1068 [NOIP2009 普及组] 分数线划定

    [题目链接] ybt 1180:分数线划定 ybt 1946:[09NOIP普及组]分数线划定 OpenJudge NOI 1.10 05:分数线划定 洛谷 P1068 [NOIP2009 普及组] ...

  5. 2038:最大数位置(题目来源于信息奥赛一本通官网)

    2038:[例5.5]最大数位置 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 4876     通过数: 3175 [题目描述] 输入n 个整数,存放在数组a[ ...

  6. HOJ 系统常用功能介绍 部署快速入门 c++ python java编程语言在线自动评测 信息奥赛一本通 USACO GESP 洛谷 蓝桥 CSP NOIP题库

    技术支持微 makytony 服务器配置需求 腾讯云 2H4G 5M 60GB 轻量应用服务器  承载大约 200~400人使用,经过压力测试,评测并发速度可满足130人左右的在线比赛. 系统镜像选 ...

  7. 【算法•日更•第十四期】信息奥赛一本通1592:【例 1】国王题解

    废话不多说,直接上题: 1592:[例 1]国王 时间限制: 500 ms         内存限制: 65536 KB 提交数: 290     通过数: 111 [题目描述] 原题来自:SGU 2 ...

  8. 信息奥赛一本通1486: CH 6202 黑暗城堡 最短路径生成树计数

    1486:黑暗城堡 [题目描述] 知道黑暗城堡有 N 个房间,M 条可以制造的双向通道,以及每条通道的长度. 城堡是树形的并且满足下面的条件: 设 Di为如果所有的通道都被修建,第 i 号房间与第 1 ...

  9. 信息奥赛一本通(1325:【例7.4】 循环比赛日程表)

    1325:[例7.4] 循环比赛日程表 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 6257     通过数: 3483 [题目描述] 设有N个选手进行循环比赛 ...

最新文章

  1. 阿里巴巴发送短信接口的使用
  2. HttpHandler浅析
  3. 7天拿到阿里安卓岗位offer,附高频面试题合集
  4. 中国传媒大学计算机学院夏令营,中国传媒大学夏令营
  5. paip.xdebug 配置attilax总结.txt
  6. micoolcoder 验证码 for php v1.0 全字符版,Micoolcoder 验证码 for PHP v1.0 全字符版
  7. 数据库在线自生成ER图
  8. 计算机网络推荐,计算机网络 | CCF推荐 | 国际会议信息4条
  9. 根服务器修改密钥,更改 SQL Server 实例的服务主密钥
  10. 如何在PLSQL上使用Oracle
  11. TwinCAT-C++基础
  12. 汇编实验二——选出非负数以及排序
  13. “NoSuchBeanDefinitionException: No qualifying bean of type”问题解决
  14. 用计算机判断函数单调性吗,判断函数单调性的常用方法
  15. oracle OCP考点在哪,Oracle OCP认证考哪几门
  16. Jquery实现大于等于且小于等于-遁地龙卷风
  17. 《Microduino实战》——3.1 准备开发环境
  18. 学计算机买笔记本r5还是i5,电脑处理器r5和i5哪个好
  19. 使用HttpClient和Jsoup爬取京东商城关键字搜索的商品页面
  20. web页面调用打印机不预览直接执行打印

热门文章

  1. git add 所有修改文件_Git管理修改、撤销和删除文件
  2. python合并两个excel文件_利用Python将多个excel文件合并为一个文件
  3. 双非院校非科班的学弟,刚刚拿到了腾讯、网易、美团等大厂Offer
  4. 这两天有点热吆,star直线上涨!~Jeecg Boot
  5. linux redhat 下让redis以服务方式运行
  6. ueditor1_4_3-utf8-jsp 配置实现上传图片的功能
  7. P3-weixin-2.0.0版本发布(微信插件式开发框架)
  8. JEECG 技术交流群
  9. 全面认识UML-类图元素(java)
  10. 用户管理实用命令(第二版)