sdnu1046选拔赛

1046.选拔赛
Time Limit: 1000 MS    Memory Limit: 32768 KB
Total Submission(s): 416    Accepted Submission(s): 114
Description
SDNU每年都进行一次ACM-ICPC的选拔赛,第一次选拔的形式是笔试,选拔通过的同学将进入机房进行集训。由于机房有限,所以只能选拔M名同学,现在给你所有参加笔试的N名同学的成绩,让你计算下最后一名通过笔试的同学的成绩是多少?
Input
输入包括多个测试案例。
对于每个测试案例,第一行包含两个数N(1<=N<=100000)和M(1<=M<=N),分别表示有N名同学和选拔前M名。
接下来的N行表示这N名同学的笔试成绩(0<=T<=100)。
如果案例的N和M同时为0,则程序结束。
Output
对于每一个测试案例,输出一行最后一名通过笔试同学的成绩。
Sample Input
5 3
1
2
3
4
5
10 5
99
33
12
54
98
54
86
34
12
58
0 0
Sample Output
3
54
Source
SDNU ACM-ICPC 2012 Training Weekly Contest(Freshman/11-25)

#include
#include
using namespace std;
bool cnp(int j,int t)
{
    return j>t;
}
int main()
{
    int n,m,j[100000],i;
    while(scanf("%d %d",&n,&m)!=EOF&&(n!=0&&m!=0))
    {
        for(i=0;iscanf("%d",&j[i]);
        }
        sort(j,j+n,cnp);
        printf("%d\n",j[m-1]);
    }
    return 0;
}

你可能感兴趣的:(sdnu个人记录)