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

练习 专栏收录该内容
322 篇文章 0 订阅

题目

某比赛已经进入了淘汰赛阶段,已知共有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;
}

 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 撸撸猫 设计师:马嘣嘣 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值