谁考了第k名
2023-12-24 16:33:45
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 <iostream>
#include <algorithm>
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<n;i++){
cin>>s[i].data>>s[i].sum;
}
sort(s,s+n,cmp);
printf("%d %g",s[m-1].data,s[m-1].sum);
return 0;
}
文章来源:https://blog.csdn.net/qq_73062949/article/details/135182898
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!