第k小整数
题目描述
现有n个正整数,n≤10000,要求出这n个正整数中的第k个最小整数(相同大小的整数只计算一次),k≤1000,正整数均小于30000。
输入输出格式
输入格式:
第一行为n和k; 第二行开始为n个正整数的值,整数间用空格隔开。
输出格式:
第k个最小整数的值;若无解,则输出“NO RESULT”。
输入输出样例
输入样例#1:
10 3 1 3 3 7 2 5 1 2 4 6
输出样例#1:
3
说明
n≤10000
代码实现:
1 #include<cstdio> 2 int n,k,a,b,c; 3 bool v[30010]; 4 int main(){ 5 scanf("%d%d",&n,&k); 6 for(int i=1;i<=n;i++){ 7 scanf("%d",&a); 8 if(!v[a]){v[a]=1;c++;} 9 } 10 if(k>c){printf("NO RESULT\n");return 0;} 11 while(k) if(v[b++]) k--; 12 printf("%d\n",b-1); 13 return 0; 14 }
题目来源:洛谷