睿爸信奥-【临阵磨枪】练习赛(第二场)- T2

目录

题面

code

题面

徐老师在【睿爸信奥】里面颇受学生欢迎,有一天校长石老师想要搞个最受欢迎老师投票,徐老师就很想拿到这个奖。假设有 k < 10^9名候选者,有 n(n<=10^4)人参加了投票,与以往不同的是,这次所有得票数超过 n/4 的人都是优胜者。请你统计收到的 n 张选票,找出符合条件的优胜者(可能不止一个)。

输入数据

8
5 2 3 6 2 5 2 7

输出数据

2

code

#include<bits/stdc++.h>
using namespace std;
int a[10001], b[10001], n, t, f[10001], s;
/*
*  a 数字
*  b 次数
*  f 数字
*  b 和 f 一一对应 
*/
double x;
int main() {
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
	}
	sort(a + 1, a + n + 1);
	for (int i = 1; i <= n; i++) {
		if (a[i] != a[i - 1]) {
			t++;//新启一组 
			b[t] = a[i];//新一组的数是a[i] 
		}
		f[t] ++;//有用一个数字,+1 
	}
	x = n / 4;
	for (int i = 1; i <= n; i++) {
		if (f[i] > x) {
			cout << b[i] << endl;
			s = 1;//有获奖的人 
		}
	}
	if (s == 0) {//没有获奖的 
		cout << "No such person.";
	}
	return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值