目录
题面
徐老师在【睿爸信奥】里面颇受学生欢迎,有一天校长石老师想要搞个最受欢迎老师投票,徐老师就很想拿到这个奖。假设有 名候选者,有 人参加了投票,与以往不同的是,这次所有得票数超过 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;
}