题目描述
老师要开习题课,同学们都不愿意参加。老师没办法,于是规定:1、最少有一半的班级必须有同学参加;2、必须参加的班级中至少有一半的同学必须参加。现请你写一段程序来计算依据此规则习题课至少有多少学生参加
输入
为两行,第一行为一个整数n(0<n<100),代表班级的个数,第二行为n个正整数,分别代表每个班级的人数。
输出
只有一行,为参加习题课的人数的最小值。(当数字为奇数时,一半指的是该数加一后除以2,测试用例保证所有整数可以用 int 类型存储)
难度一般,初学者使用Arrays.sort()有点投机取巧,不好意思了啊
import
java.util.Scanner;
import
java.util.Arrays;
public
class
Main {
public
static
void
main(String[] args) {
Scanner sc =
new
Scanner(System.in);
int
n = sc.nextInt();
int
sum=
0
;
int
[] array=
new
int
[n];
for
(
int
i=
0
;i<n;i++)
{
array[i]=sc.nextInt();
if
(array[i]%
2
!=
0
)
{array[i]=array[i]+
1
;}
}
Arrays.sort(array);
if
(n%
2
!=
0
)
{n=n+
1
;}
for
(
int
j=
0
;j<(n/
2
);j++)
{sum=array[j]+sum;}
System.out.println((sum/
2
));
}
}