题目描述:
在星球争霸篮球赛对抗赛中,强大的宇宙战队,希望每个人都能拿到MVP。
MVP的条件是,单场最高分得分获得者,可以并列,所以宇宙战队决定在比赛中,尽可能让更多的队员上场,且让所有有得分的队员得分都相同。
然而比赛过程中的每一分钟的得分都只能由某一个人包揽。
输入描述:
输入第一行为一个数字t,表示有得分的分钟数( 1 <= t <= 50),第二行为t个数字,代表每一分钟的得分p(1 <= p <= 50)
输出描述:
输出有得分的队员都是MVP时最少的MVP得分。
补充说明:
收起
示例1
输入:
9
5 2 1 5 2 1 5 2 1
输出:6
说明:样例解释:一共4人得分,分别都为6分
5 + 1
5 + 1
5 + 1
2 + 2 + 2
#include <iostream>
using namespace std;
int main() {
int m;//时间
cin >> m;
int sc[m];//得分数组
int i = 0;
while (cin >> sc[i++]) {
if (cin.get() == '\n')
break;
}
int sum = 0, max = 0;
for (int j = 0; j < m; j++) {
sum += sc[j];
if (max < sc[j]) {
max = sc[j];
}
}
while (true) {
if (sum % max == 0) {
cout << max;
break;
} else {
max++;
}
}
return 0;
}
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int t = Integer.parseInt(sc.nextLine());
String[] s = sc.nextLine().split(" ");
int[] scores = new int[t];
for (int i = 0; i < s.length; i++) {
scores[i] = Integer.parseInt(s[i]);
}
int sum = 0, max = 0;
for (int i = 0; i < t; i++) {
sum += scores[i];
if (max < scores[i]) {
max = scores[i];
}
}
while (true) {
if (sum % max == 0) {
System.out.println(max);
break;
} else {
max++;
}
}
}
}
}