首页 > 试题广场 >

分苹果

[编程题]分苹果
  • 热度指数:54918 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
n 只奶牛坐在一排,每个奶牛拥有 ai 个苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数都相同,每一次,你只能从一只奶牛身上拿走恰好两个苹果到另一个奶牛上,问最少需要移动多少次可以平分苹果,如果方案不存在输出 -1。

输入描述:
每个输入包含一个测试用例。每个测试用例的第一行包含一个整数 n(1 <= n <= 100),接下来的一行包含 n 个整数 ai(1 <= ai <= 100)。


输出描述:
输出一行表示最少需要移动多少次可以平分苹果,如果方案不存在则输出 -1。
示例1

输入

4
7 15 9 5

输出

3
头像 张映彬
发表于 2021-02-15 12:21:51
题目描述n 只奶牛坐在一排,每个奶牛拥有 ai 个苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数都相同,每一次,你只能从一只奶牛身上拿走恰好两个苹果到另一个奶牛上,问最少需要移动多少次可以平分苹果,如果方案不存在输出 -1。输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含 展开全文
头像 c小白进击之路
发表于 2021-04-05 15:13:22
统计需要移动的苹果的总数。 移动一次,会有4个苹果被挪动。 sumapple/4=移动次数。 include<stdio.h> include<math.h> int main() {    int const n ;scanf("%d" 展开全文
头像 我不打朋友圈
发表于 2021-12-15 10:49:39
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main{ public static void main(String[] args) 展开全文
头像 牛客136122074号
发表于 2023-11-13 14:26:49
#include <stdio.h> int main() { int n; int a[100] = {0}; int sum; int average; int odd; int flag = 0; while (scanf ("%d\n&qu 展开全文
头像 牛客136122074号
发表于 2023-11-13 14:28:25
#include <stdio.h> int main() { int n; int a[100] = {0}; int sum; int average; int odd; int flag = 0; while (scanf ("%d\n&qu 展开全文
头像 牛客444857323号
发表于 2023-08-16 16:01:52
import sys def avg_cut(l): b = False for k in l: if abs(sum(l)/len(l) -k)%2 ==0: b = True else: b = 展开全文
头像 怕浪猫
发表于 2022-11-10 21:58:43
// 1、总数不能整除平分,则无法平分苹果, // 2 、 因为每次只能拿2个苹果,比平均数多或少的个数不是2的整倍数,不能被平分 const rl = require("readline").createInterface({ input:  展开全文
头像 hyandsg
发表于 2021-02-19 21:35:40
考虑一下三点即可:1 累加苹果数要能被n整除2 每一堆苹果数目和最终苹果数奇偶性要一样3 操作数就是累加每一堆大于最终苹果数,然后除以2 import java.util.*; public class Main{ public static void main(String[] args) 展开全文
头像 爱因斯坦_铎
发表于 2021-08-29 06:06:23
include <math.h> void findA(int *a, int temp, int index, int average, int n){ int i; if(temp == (-2)){ for(i = index+1; i< n ;){ 展开全文
头像 牛客328964442号
发表于 2021-09-02 17:11:17
全是暴力,没有技巧 #include<stdio.h> #include<iostream> #include<algorithm> using namespace std; int main() { int n; scanf("%d& 展开全文