在传说中的江湖中,各大帮派要选武林盟主了,如果龙飞能得到超过一半的帮派的支持就可以当选,而每个帮派的结果又是由该帮派帮众投票产生的,如果某个帮派超过一半的帮众支持龙飞,则他将赢得该帮派的支持。现在给出每个帮派的帮众人数,请问龙飞至少需要赢得多少人的支持才可能当选武林盟主?(主要考一个小思维)
输入格式:
测试数据有多组,处理到文件尾。每组测试先输入一个整数n(1≤n≤20),表示帮派数,然后输入n个正整数,表示每个帮派的帮众人数ai(0<ai≤100)。
输出格式:
对于每组数据输出一行,表示龙飞当选武林盟主至少需要赢得支持的帮众人数。
输入样例:
3 5 7 5
4 6 6 7 5
输出样例:
6
11
来源:
[1] 黄龙军, 等. 大学生程序设计竞赛入门—C/C++程序设计(微课视频版), 北京:清华大学出版社, 2020.11. ISBN:9787302564744
[2] 黄龙军.程序设计竞赛入门(Python版),北京:清华大学出版社,2021.4. ISBN:9787302571230
code演示
#include <iostream>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
int a[21];
for(int i=0;i<n;i++)cin>>a[i];
for(int i=0;i<n;i++)
{
for(int j=0;j<n-i-1;j++)
if(a[j]>a[j+1]){
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
int num=n/2+1;
int sum=0;
for(int i=0;i<num;i++)
{
sum+=a[i]/2+1;
}
cout<<sum<<endl;
}
return 0;
}
这题就考找一半加一最少人的宗门
然后给每个宗门人数减半加一,最后相加就完事
(PTA赶紧的刷完这两百多到题,刷完就冲cf)
结果展示:
结尾继续水点字数和行数
结尾继续水点字数和行数
结尾继续水点字数和行数