2167: 谁考了第k名

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:18 解决:13

题目描述

在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k 名学生的学号和成绩。

输入

第一行有两个整数,分别是学生的人数n (1≤n≤100),和求第k名学生的k (1≤k≤n)。其后有n行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个空格分隔。

输出

输出第k名学生的学号和成绩,中间用空格分隔。(注请用%g输出成绩)

样例输入 复制

5 3
90788001 67.8 90788002 90.3 90788003 61 90788004 68.4 90788005 73.9

样例输出 复制

90788004 68.4

提示

#include<bits/stdc++.h>
using namespace std;
struct node {
	int id;
	double score;
};
node a[110];
int n,k;
int cmp(node x,node y) {
	return x.score>y.score;
}
int main(){
    cin>>n>>k;
    for (int i=1;i<=n;i++) {
    	cin>>a[i].id>>a[i].score;
	}
	sort(a+1,a+n+1,cmp);
	printf("%d %g",a[k].id,a[k].score);
	return 0;
}