题目描述:

某比赛已经进入了淘汰赛阶段,已知共有n名选手参与了此阶段比赛,他们的得分分别是a_1,a_2….a_n,小美作为比赛的裁判希望设定一个分数线m,使得所有分数大于m的选手晋级,其他人淘汰。

但是为了保护粉丝脆弱的心脏,小美希望晋级和淘汰的人数均在[x,y]之间。

显然这个m有可能是不存在的,也有可能存在多个m,如果不存在,请你输出-1,如果存在多个,请你输出符合条件的最低的分数线。

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

int main()
{
	int n, x, y;
	cin >> n >> x >> y;//x是淘汰最少的人数
	vector<int> num(n);
	for (int i = 0; i < n; ++i)
	{
		cin >> num[i];
	}
	sort(num.begin(), num.end());//
	if (n<x + x || n>y + y)
		cout<< - 1;//不存在
	///num[x-1];//这个就是最低分数线
	cout<<num[x-1];
	return 0;
}