计算导论与程序设计课程要开习题课,由于教室座位有限,所以决定限制参加人数。于是规定:1、最多允许一半的班级里的同学参加;2、可以参加的班级最多允许一半的同学参加。现请你写一段程序来计算习题课最多可能有多少个学生参加。
输入为两行,第一行为一个整数n(0<n<100),代表班级的个数,第二行为n个正整数,分别代表每个班级的人数。
输出只有一行,为能够参加习
题课的人数的最大值。(当数字为奇数时,一半指的是该数减一后除以2,测试用例保证所有整数可以用 int 类型存储)
输入样例
5
4 5 6 7 8
输出样例
7
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a[n+1];
int b[n/2+1]={0};
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
int t;
for(int i=1;i<n;i++)
{
for(int j=1;j<=n-i;j++)
{
if(a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
int sum=0;
for(int i=1;i<=n/2;i++)
{
b[i]=a[i]/2;
sum+=b[i];
}
printf("%d",sum);
return 0;
}