AcWing 5474. 贪心(Java版)
原题链接
中等
作者:
jvav选手
,
2024-02-25 23:28:10
,
所有人可见
,
阅读 44
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 读取科目数量
int n = scanner.nextInt();
// 存储每个科目的成绩
int[] N = new int[n];
// 总成绩
double sum = 0;
// 修改成绩的科目数量
int count = 0;
// 读取每个科目的成绩并计算总成绩
for (int i = 0; i < n; i++) {
N[i] = scanner.nextInt();
sum += N[i];
}
// 如果当前四舍五入后的平均分已经达到5,则无需修改,输出0
if (sum / n + 0.5 >= 5.0) {
System.out.println(0);
} else {
// 对成绩数组进行升序排序
Arrays.sort(N);
// 遍历成绩数组,依次将每个科目的成绩修改为5,计算修改的科目数量
for (int i = 0; i < n; i++) {
int x = 5 - N[i];
count++;
sum += x;
// 如果修改后的平均分达到5,则输出修改的科目数量并结束程序
if (sum / n + 0.5 >= 5.0) {
System.out.println(count);
return;
}
}
}
}
}