JZOJ 3.25 1419——【汕头市选2012初中组】排序(sort)

题目描述

ftiasch 和nm 是好朋友。nm 的成绩很差,以至于GPA(平均绩点)在系内倒数。系内一共有N 位

同学,每位同学有自己的GPA,以及已修学分数,定义GPT = GPA  已修学分数。ftiasch 为了帮助

nm 提高成绩,给nm 提了一个要求:新学期的GPA 要超过系内排名第K 位的同学。

为了帮助理解,给出一个例子:

这里写图片描述

现在给出系里面每位同学的GPT(只有一位小数),以及他们的已修学分。你需要帮助nm 把排名

第K 位的同学的GPA 求出来。

输入

第1 行,2 个整数N, K。第2  (N + 1) 行,每行1 个非负实数和1 个整数,分别表示GPT 和已

修学分数,注意所有同学的学分都在[1; 250] 的范围。

输出

第1 行,1 个实数,表示排名第K 同学的GPA,保留2 位小数输出。

样例输入

5 3

73 20

79.8 21

72.6 22

85.1 23

65.7 18


求出GPA值,再排序。


代码如下:

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
float a[100001];
int main()
{
    freopen("sort.in","r",stdin);
    freopen("sort.out","w",stdout);
    int n,m;
    float x,y;
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        cin>>x>>y;
        a[i]=x/y;
    }
    sort(a+1,a+n+1);
    printf("%.2f",a[n-m+1]);
    return 0;
}
posted @ 2017-03-25 13:58  BEYang_Z  阅读(113)  评论(0编辑  收藏  举报