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;
}