7-2 第 k 小整数 (100 分)
现有 n 个正整数,n≤10000,要求出这 n 个正整数中的第 k 个最小整数(相同大小的整数只计算一次),k≤1000,正整数均小于 30000。
输入格式:
第一行为 n 和 k,第二行开始为 n 个正整数的值,整数间用空格隔开。
输出格式:
第 k 个最小整数的值;若无解,则输出“NO RESULT”。
输入样例:
在这里给出一组输入。例如:
10 3
1 3 3 7 2 5 1 2 4 6
结尾无空行
输出样例:
在这里给出相应的输出。例如:
3
结尾无空行
输入样例:
在这里给出一组输入。例如:
10 9
1 3 3 7 2 5 1 2 4 6
结尾无空行
输出样例:
在这里给出相应的输出。例如:
NO RESULT
结尾无空行
#include <bits/stdc++.h>
using namespace std;
int a[30001];
int n,m,flag=0,min1=-1,num=0;
int main(void)
{
cin>>n>>m;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n);
for(int i=0;i<n;i++)
{
if(min1<a[i])
{
min1=a[i];
num++;
}
if(num == m)
{
flag=1;
break;
}
}
if(flag)
cout<<min1;
else
printf("NO RESULT");
return 0;
}