思路:可以先排序,然后判断第k个数是否等于第k+1个数,如果是的话,那么显然找不到
否则,答案就是第k个数。但是这里要特判一下k=0的情况
以下是代码实现:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int n,k;
cin>>n>>k;
vector<int>vt;
for(int i=1;i<=n;i++)
{
int num;
cin>>num;
vt.push_back(num);
}
sort(vt.begin(),vt.end());
if(k==0)//需要特判一下0的情况
{
if(vt[0]==1) cout<<-1;
else cout<<vt[0]-1;
}
else if(vt[k-1]==vt[k])
{
cout<<-1;
}
else cout<<vt[k-1];
return 0;
}