美团2021校招笔试-编程题(通用编程试题,第10场) 第一题


题目

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

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

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


tips:数组标记


#include<iostream>
#include<vector>
using namespace std;
int main() {
	int n,x,y;
	cin>>n>>x>>y;
	vector<int> ans(1001,0);
	for(int i=0; i<n; ++i) {
		int a;
		cin>>a;
		ans[a]++;
	}
	int t=0,ct=-1;
	for(int i=0; i<1001; ++i) {
		t+=ans[i];
		if(t>=x&&t<=y&&n-t>=x&&n-t<=y) {
			ct=i;
			break;
		}
	}
	cout<<ct<<endl;
	return 0;
}

 

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 撸撸猫 设计师:C马雯娟 返回首页