谁考了第k名

7-94 谁考了第k名

分数 10

全屏浏览题目

切换布局

作者 于延

单位 哈尔滨师范大学

问题描述

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

输入

第一行有两个整数,分别是学生的人数n(1≤n≤10000),和求第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

样例输入

1 1
90788001 67.888

样例输出

90788001 67.888

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

#include 
#include 
using namespace std;
struct student{
    int data;
    double sum;
}s[100000];
bool cmp(student x,student y){
    if(x.sum!=y.sum) return x.sum>y.sum;
}
int main(){
    int n,m;
    cin>>n>>m;
    for(int i=0;i>s[i].data>>s[i].sum;
    }
    sort(s,s+n,cmp);
    printf("%d %g",s[m-1].data,s[m-1].sum);
    return 0;
}

你可能感兴趣的:(PTA,算法,c++,数据结构,c语言)