[NOIP2009]分数线划定

题目本身非常简单,但是我发现了自己的一个知识盲点。
[NOIP2009]分数线划定
40.26% 1000ms 131072K
世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的 150%150% 划定,即如果计划录取 mm 名志愿者,则面试分数线为排名第 m \times 150%m×150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。

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

输入格式
第一行,两个整数 n,m(5 \le n \le 5000,3 \le m \le n)n,m(5≤n≤5000,3≤m≤n),中间用一个空格隔开,其中 nn 表示报名参加笔试的选手总数,mm 表示计划录取的志愿者人数。输入数据保证 m \times 150%m×150% 向下取整后小于等于 nn。

第二行到第 n+1n+1 行,每行包括两个整数,中间用一个空格隔开,分别是选手的报名号 k(1000 \le k \le 9999)k(1000≤k≤9999) 和该选手的笔试成绩 s(1 \le s \le 100)s(1≤s≤100) 。数据保证选手的报名号各不相同。

输出格式
第一行,有 22 个整数,用一个空格隔开,第一个整数表示面试分数线;第二个整数为进入面试的选手的实际人数。

从第二行开始,每行包含 22 个整数,中间用一个空格隔开,分别表示进入面试的选手的报名号和笔试成绩,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。

样例说明
m \times 150% = 3 \times 150% = 4.5m×150%=3×150%=4.5 向下取整后为 44。保证 44 个人进入面试的分数线为 8888,但因为 88 有重分,所以所有成绩大于等于 8888 的选手都可以进入面试,故最终有 55 个人进入面试。

输出时每行末尾的多余空格,不影响答案正确性

样例输入

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

AC代码:

#include<iostream>
#include<algorithm>
using namespace std;
struct man
{
    int name;
    int score;
};

struct man mans[10010];

bool rule(struct man a, struct man b)
{
    if(a.score!=b.score)
  	  return a.score > b.score;
    return a.name < b.name;
}

int main()
{
	int sum, last;
    cin >> sum >> last;
    
    int last_max = last * 1.5;
    
    for(int i=0; i<sum; i++)
        cin >> mans[i].name >> mans[i].score;
    
	sort(mans, mans+sum, rule);
    
    int score_last_max = mans[last_max-1].score;
    
    for(int i = last_max; i<sum; i++)
    	if(mans[i].score == score_last_max)
    		last_max++;
    	else 
    		break;
    
    cout << score_last_max << " " << last_max << endl;
    for(int i=0; i<last_max; i++)
        cout << mans[i].name << " " << mans[i].score << endl;
    
    return 0;
}

学到的东西:
判断答案的机制认为cout << ends;cout << " ";不是同一个输出,在cplusplus网站查看手册,才发现ends相当于'\0',并不相当于' '。我被坑了好久好久。
以后见到空格输出的一律禁止使用ends

发布了30 篇原创文章 · 获赞 15 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览