SDJZ 当总统

发布时间:2016-12-6 8:58:32 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"SDJZ 当总统",主要涉及到SDJZ 当总统方面的内容,对于SDJZ 当总统感兴趣的同学可以参考一下。

题目描述 小明想当丑国的总统,丑国大选是按各州的投票结果来确定最终的结果的,如果得到超过一半的州的支持就可以当选,而每个州的投票结果又是由该州选民投票产生的,如果某个州超过一半的选民支持小明,则他将赢得该州的支持。现在给出每个州的选民人数,请问小明至少需要赢得多少选民的支持才能当选? 输入格式 输入包含多组测试数据。 每组数据的第一行是一个整数N(1<=N<=101),表示丑国的州数,当N=0时表示输入结束。 接下来一行包括N个正整数,分别表示每个州的选民数,每个州的选民数不超过100。 输出 对于每组数据输出一行,表示小明至少需要赢得支持的选民数。 样例输入 3 5 7 5 0 样例输出 6 代码: #include <iostream> using namespace std; int main() { int N; int a[1000],b[1000]; while(cin>>N) { if(N!=0) { int sum=0; for(int i=0;i<N;i++) { cin>>a[i]; if(a[i]%2==1) { b[i]=(a[i]+1)/2; } else b[i]=a[i]/2+1; } int temp; for(int j=0;j<N-1;j++) { for(int f=j+1;f<N;f++) { if(b[f]<b[j]) { temp=b[j]; b[j]=b[f]; b[f]=temp; } } } if(N%2==0) { for(int m=0;m<(N/2)+1;m++) { sum+=b[m]; } } else if(N%2==1) { for(int k=0;k<((N+1)/2);k++) { sum+=b[k]; } } cout<<sum<<endl; } else break; } return 0; }

上一篇:LeetCode:Jump Game
下一篇:CodeForces 13A

相关文章

关键词: SDJZ 当总统

相关评论