点击打开链接
题目描述
圣诞节快到了,于是可爱的小明想在圣诞节的前一天(也就是平安夜)给班里的同学发个小福利,他买了一些糖果和苹果,并将这些糖果和苹果分成相同的n份。每个领取了礼物的同学都会写下自己的学号,小明很讨厌贪得无厌的人,于是小明决定如果一个人拿到的礼物超过了其他所有人的总和,小明就会惩罚这个同学。
输入
有多种情况。
对于每种情况,第一行中都有一个整数n(1 <= n <= 1000)。
在第二行,有n个整数a1,a2 ... an(0 <= ai <10000)ai是第i个人的学号。
对于每种情况,第一行中都有一个整数n(1 <= n <= 1000)。
在第二行,有n个整数a1,a2 ... an(0 <= ai <10000)ai是第i个人的学号。
输出
应该受到惩罚的人的输出ID。
如果没有人受到惩罚,则输出-1。
输出占一行。
如果没有人受到惩罚,则输出-1。
输出占一行。
样例输入
3
1 1 2
4
2 1 4 3
样例输出
1
-1
#include<stdio.h>
#include<string.h>
#define N 100010
int a[N];
int main()
{
int n,num,i,ans;
while(scanf("%d",&n)!=EOF)
{
ans=-1;
for(i=0;i<n;i++)
{
scanf("%d",&num);
a[num]++;
if(a[num]>n/2)
ans=num;
}
printf("%d
",ans);
memset(a,0,sizeof(a));
}
return 0;
}