题目描述
在传说中的江湖中,各大帮派要选武林盟主了,如果龙飞能得到超过一半的帮派的支持就可以当选,而每个帮派的结果又是由该帮派帮众投票产生的,如果某个帮派超过一半的帮众支持龙飞,则他将赢得该帮派的支持。现在给出每个帮派的帮众人数,请问龙飞至少需要赢得多少人的支持才可能当选武林盟主?
输入格式
测试数据有多组,处理到文件尾。每组测试先输入一个整数n(1≤n≤20),表示帮派数,然后输入n个正整数,表示每个帮派的帮众人数(0<a ≤100)。
输出格式
对于每组数据输出一行,表示龙飞当选武林盟主至少需要赢得支持的帮众人数。
样例输入
3 5 7 5
4 6 6 7 5
样例输出
6
11
#include<stdio.h>
int main(){
int n;
while(scanf("%d",&n)!=EOF){
int a[n];
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(a[j]<a[i]){
int t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}//从小到大排列
//满足至少一半帮派数的要求
int sum=0;//计算总人数
for(int i=0;i<(n/2)+1;i++){
sum+=a[i]/2+1;
}
printf("%d\n",sum);
}
return 0;
}