Ader给Felicia寄来了很多很多的好吃的糖果,Felicia给每一个糖果标记了一个可口度,每天从中选出第K好吃的糖果来吃,但是,Ader寄来的糖果实在是太多太多了,编号后也只能一股脑的放在一个盒子里,Felicia每天都要花巨量的时间来找糖果,这显然是一件折磨人的事,他想写个程序来解决这个问题,但是,万恶的期末考就要来临,Felicia不得不复习E文,只好拜托你来解决这个问题啦!

输入格式

题目含有多组数据,以EOF结束! 每组数据的第一行都有2个数,N和k,N(N<=5000000)表示Ader给Felicia的糖果的总数,k(k<=n)为Felicia想找到的第K好吃的糖果,接下来的1行里有N个正整数,Felicia把糖果从盒子里倒出来,排成一列,这些就是糖果的编号!

输出格式

每一组数据输出仅为一行,且只有一个数,为Felicia想找到的第K好吃的糖果的编号。

样例输入

10 5
5 8 1 4 4 8 3 2 7 10

样例输出

4

排序后输出第k大的就行

#include<stdio.h>
#include<string.h>
int n,k;
int a[5000010],c[5000010];
int main(){
	int i,num;
	while(~scanf("%d %d",&n,&k)){
		memset(c,0,sizeof(c));
		for(i=1;i<=n;i++){
			scanf("%d",&a[i]);
			c[a[i]]++;
		}
		num=0;
		for(i=0;i<=5000009;i++){
			num+=c[i];
			if(num>=k){
				printf("%d\n",i);
				break;
			}
		}
	}
	return 0;
}