Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description 美国大选是按各州的投票结果来确定最终的结果的,如果得到超过一半的州的支持就可以当选,而每个州的投票结果又是由该州选民投票产生的,如果某个州超过一半的选民支持希拉里,则她将赢得该州的支持。现在给出每个州的选民人数,请问希拉里至少需要赢得多少选民的支持才能当选? Input 多组输入数据
Output 对于每组数据输出一行,表示希拉里至少需要赢得支持的选民数
Sample Input
3 5 7 5 0
Sample Output
6
|
简单贪心
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int main()
{
int n;
int a[101];
while(~scanf("%d",&n)&&n)
{
int x;
for(int i=0;i<n;i++)
{
scanf("%d",&x);
a[i]=x/2+1;
}
sort(a,a+n);
n=n/2+1;
int ans=0;
for(int i=0;i<n;i++)
ans+=a[i];
printf("%d\n",ans);
}
return 0;
}
标签:32768,int,HDU2535Vote,支持,希拉里,ans,选民 From: https://blog.51cto.com/u_15834888/5820659