赞
踩
题目描述:
在星球争霸篮球赛对抗赛中,强大的宇宙战队,希望每个人都能拿到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
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
-
- int sum = 0;
- int num = scanner.nextInt();
-
- int[] nums = new int[num];
- for (int i = 0; i < num; i++) {
- nums[i] = scanner.nextInt();
- sum += nums[i];
- }
- Arrays.sort(nums);
-
- int result = num;
- while (true) {
- if (sum % result != 0) {
- result--;
- continue;
- }
- int avg = sum / result;
-
- if (avg < nums[num-1]) {
- result--;
- continue;
- }
-
- boolean flag = false;
-
- for (int i = 0; i < result; i++) {
- int val = 0;
- for (int j = num - 1; j >= 0; j--) {
- if (nums[j] < 0) {
- continue;
- }
- if (val + nums[j] <= avg) {
- val += nums[j];
- nums[j] -= 100;
- if (val == avg) {
- break;
- }
- }
- }
- if (val != avg) {
- flag = true;
- break;
- }
- }
- if (flag) {
- for (int i = 0; i < num; i++) {
- if (nums[i] < 0) {
- nums[i] += 100;
- }
- }
- result--;
- continue;
- }
- System.out.println(avg);
- return;
- }
-
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。