现有 n 个正整数,要求出这 n 个正整数中的第 kk 小的整数(相同大小的整数只计算一次)。
输入格式
第一行两个整数 n,k。
第二行 n 个用空格分隔的整数 ai。
数据范围:1≤k≤n≤1e4 1≤ai<=1e4
输出格式
一个整数表示答案。如果不存在,则输出 NO RESULT
。
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e6+10;
int a[N];
signed main()
{
int n,k;
cin>>n>>k;
set<int>st;
for(int i=1;i<=n;i++)
{
int x;
cin>>x;
st.insert(x);
}
if(k<=st.size())
{
auto it=st.begin();
advance(it,k-1);
cout<<*it;
}
else cout<<"NO RESULT";
return 0;
}
advance() 将指针前移k个单位