描述
n 只奶牛坐在一排,每个奶牛拥有 ai 个苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数都相同,每一次,你只能从一只奶牛身上拿走恰好两个苹果到另一个奶牛上,问最少需要移动多少次可以平分苹果,如果方案不存在输出 -1。

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

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

示例1
输入:
4
7 15 9 5
输出:
3

#include<iostream>
#include<vector>

using namespace std;

/*思路:
    1.先遍历数组,统计每个奶牛手中的苹果
    2.求平均数m,若可以整除,表示右分配方案,否则没有。
    3.遍历每个元素,比较当前元素与m得到差值,如果差值不是2的倍数,说明无论如何不存在移动方案使得
    条件成立。如果差值是2的倍数,就往后找大于平均值的元素作为填补。*/
int main(){
    int n;
    cin >> n;
    int sum = 0;
    vector<int> num(n, 0);
    for (int i = 0; i < n; i++) {
        cin >> num[i];
        sum += num[i];
    }
    if(sum % n != 0) 
    {
        cout << -1;
        return 0;
    }
    
    int avg = sum / n;
    int step = 0;
    for(int i = 0; i < n; i++) {
        int gap = num[i] - avg;
        if(gap == 0) continue;
        if (gap % 2 != 0) 
        {
            cout << -1;
            return 0;
        }
        
        for (int j = 0; j < n; j++) {
            if(i == j) continue;
            while (gap < 0 && num[j] > avg) {
                step++;
                num[i] += 2;
                num[j] -= 2;
                gap = num[i] - avg;
            }
        }
    }
    cout << step;
    return 0;
    
}
[C++]牛客 WY10 分苹果

相关文章

  1. 抵制CSDN

    吃相真难看&#xff0c;所有博文已删除&#xff0c;祝愿CSDN早死早超生&#xff01;...

    2023/1/31 21:27:46
  2. java将带空字符串格式化数组_重新格式化字符串数组 - java

    我想根据条件重新格式化String数组。说&#xff0c;数组A ["samsung", "chargers", "fast", "charging", "rapid", "high"]int index 1这意味着我将用空格将这些项附加到索引1并格式化数组。所以&#xff0c;最…...

    2023/1/31 21:27:43
  3. python贪吃蛇简单代码_Python贪吃蛇简单的代码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 在自学Python的过程中在网上查询资料时发现了一些好玩的东西&#xff0c;python的游戏库模块&#xff0c;它可以自己弄一个小游戏来玩玩&#xff0c;然后我在网上找了一些游戏的代码&#xff0c;&#xff0c;自己改了一些&#xf…...

    2023/1/31 21:27:36
  4. Vue的依赖和注入

    前奏 学习一个新的知识,应该带有一些目的性,或者了解一下相关背景,带着疑问去学一个东西,至少不会那么痛苦。(不要跟我说学习是快乐的,学习哪来的快乐(&#xffe3;ー&#xffe3;) (&#xffe3;ー&#xffe3;))。 还是先看场景,比如A组件现在要传值给他的子组件B,B组件的孩…...

    2023/1/31 21:26:58
  5. BSTR、LPSTR、LPWSTR、CString、VARIANT、COleVariant 、_variant_t、CComBSTR、_bstr_t

    Visual C.NET涉及到ATL/ATL Server、MFC和托管C等多种编程方式&#xff0c;不仅功能强大而且应用广泛。在编程中&#xff0c;我们常常会遇到ANSI、Unicode以及BSTR不同编码类 型的字符串转换操作。本文先介绍基本字符串类型&#xff0c;然后说明相关的类&#xff0c;如CComBSTR…...

    2023/1/31 21:26:39
  6. 解决WinHTTP Web Proxy Auto-Discovery Service无法启动问题

    需要启动该服务的起因是需要抓包&#xff0c;所以下载了charles&#xff0c;但无任何抓包信息&#xff0c;也没有错误提示&#xff0c;未查到原因。 遂又下载了fiddler&#xff0c;此时启动会提示“Failed to register Fiddlers as the system proxy”&#xff0c;上网查原因是…...

    2023/1/31 21:25:58
  7. 【iOS】stringWithFormat 保留小数点位数 float double

    以前就见过&#xff0c;如下&#xff1a; text [NSString stringWithFormat:"%.1f", percentageCompleted]; 但一直没在意。刚一时好奇&#xff0c;查了下&#xff0c;原来很简单&#xff1a; %.1f 表示小数点一位&#xff0c;%.2f 表示小数点2位&#xff0c;依次类…...

    2023/1/31 21:25:48
  8. c语言滚动字幕的原理编程,c#中通过Graphics.DrawString实现滚动字幕的原理和代码实例...

    c#中通过Graphics.DrawString实现滚动字幕的原理和代码实例在c#中其实滚动屏幕的实现很简单,只需要用到Graphics.DrawString方法. Graphics.DrawString (String s, Font font, Brush brush, PointF point) 在指定位置并且用指定的 Brush 和 Font 对象绘制指定的文本字符串。s 要…...

    2023/1/31 21:25:28
  9. java设计模式 课后习题参考答案 第 2 章 面向对象设计原则 清华出版社 刘伟

    第 2 章 面向对象设计原则 B A C D D C C D D “封装变化点”可对应“开闭原则”&#xff0c;“对接口进行编程”可对应“依赖倒转原则”&#xff0c;“多使用组合&#xff0c; 而不是继承”可对应“合成复用原则”。 类的粒度需满足单一职责原则&#xff0c;接口的粒度需…...

    2023/1/31 21:24:36
  10. 初学设计模式之面向对象设计原则

    在学习设计模式的时候通常都会听到面向对象设计原则这几个字&#xff0c;今天我们就一起来学习一下面向对象设计原则。 要学设计模式&#xff0c;首先弄懂面向对象设计原则是最为重要的&#xff0c;因为它能让我们更好地理解各种设计模式。 面向对象设计总共有八大原则。 &a…...

    2023/1/31 21:24:34
  11. matlab pca函数怎么用,matlab的pca函数说明

    PCA在matlab中的实现举例以下资料来自matlab的help&#xff0c;翻译和注解部分由笔者添加&#xff1a;(重点部分添加了翻译&#xff01;)princomp-----函数名称Principal component analysis (PCA) on dataSyntax------函数调用语法[COEFF,SCORE] princomp(X)[COEFF,SCORE,lat…...

    2023/1/31 21:24:12
  12. ClickHouse在海量数据分析场景下的应用实践笔记

    架构 ClickHouse是一个MPP分布式数据库&#xff0c;它将数据水平切分成多个shard 每个Shard基于权重或者Hash每个Shard支持多副本 多副本之间同步依赖于ZK&#xff0c;多shard之间同步也依赖于ZK&#xff0c;例如分布式DDL、分布式SQL 每个Shard内部包含多层 协议层&#xff…...

    2023/1/31 21:23:45
  13. BeanShell-创建文件

    创建文件&#xff0c;测试通过 import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader;File f new File("D:\\t.txt"); if(!f.exists()){f.createNewFile(); …...

    2023/1/31 21:23:30
  14. [BUUCTF misc]snake

    如题&#xff1a; 下载并解压缩后得到一张图片 用WinHex打开后发现图片里面藏着两个压缩包&#xff0c;将它们分离出来并用7z解压后会得到两个文件夹 我们可以得到key和cipher两个文件&#xff0c;用万能的记事本打开后可以得到如下内容 先对key中的内容进行base64解码&#xf…...

    2023/1/31 21:23:18
  15. MYSQL学习笔记01

    Mysql学习笔记01 1. 如何连接数据库 在操作数据库之前&#xff0c;需要连接它&#xff0c;输入命令&#xff1a;mysql -u用户名 -p密码。 mysql -uroot -p123123 2.如何创建数据库 连接上MySQL之后就可以进行数据库的操作了&#xff0c;接下来我们创建一个名为TestDb的数据库&…...

    2023/1/31 21:23:16
  16. 大学c语言作业会认真检查么,c语言学习上的思考与心得

    由于这段时间在c语言的学习中&#xff0c;表现的很努力并且完成作业态度认真&#xff0c;所以得到了老师奖励的小黄衫。以下是我对于c语言的学习感受与心得。学习感受与心得我选择计算机的这个专业&#xff0c;是因为我对计算机的学习很有兴趣。c语言是我以前从来没有接触过、也…...

    2023/1/31 21:22:57
  17. java如何截取视频文件_Java截取视频文件缩略图

    /*** 截取视频第0帧的图片*/public static void videoImage(String filePath, String fileName,int widthdist, int heightdist) throws FrameGrabber.Exception {File targetDir new File(filePath FS_FILE_APP_PATH);if (!targetDir.exists()) {targetDir.mkdirs();}FFmpeg…...

    2023/1/31 21:22:56
  18. 用 managedQuery() 时须要注意的一个陷阱

    Activity 里面提供了一个 managedQuery() 方法&#xff0c;依照 Android SDK 里面的说明&#xff0c;“the activity will manage its lifecycle for you.” 听起来非常好&#xff0c;Activity 能够替你管理 Cursor 的生命周期了&#xff0c;就不用记着去 close() 了&#xff0…...

    2023/1/31 21:22:47
  19. 手把手教你使用TF服务将TensorFlow模型部署到生产环境 ...

    介绍 将机器学习&#xff08;ML&#xff09;模型应用于生产环境已成为一个火热的的话题,许多框架提供了旨在解决此问题的不同解决方案。为解决这一问题&#xff0c;谷歌发布了TensorFlow&#xff08;TF&#xff09;服务&#xff0c;以期待解决将ML模型部署到生产中的问题。 本…...

    2023/1/31 21:22:47
  20. c语言汇编程序设计,[2018年最新整理]C语言程序设计汇编.doc

    [2018年最新整理]C语言程序设计汇编C语言程序设计汇编分支、循环结构一、程序分析题1&#xff0e;阅读程序&#xff0c;写出运行结果。?????main(){?int?a&#xff1d;10&#xff0c;?b&#xff1d;4&#xff0c;C&#xff1d;3&#xff1b;?????????if(a&…...

    2023/1/31 21:22:31

最新文章

  1. 抵制CSDN

    吃相真难看&#xff0c;所有博文已删除&#xff0c;祝愿CSDN早死早超生&#xff01;...

    2023/1/31 21:27:46
  2. C语言 - 通讯录详解

    通讯录 文章目录1. 基本思路2.代码实现2.1 定义各种**宏**和**结构体**。2.2 创建结构体并进行初始化2.3 打印菜单&#xff0c;模拟用户的选择2.4 增加联系人2.5 删除联系人2.6 查找联系人2.7 修改联系人2.8 对通讯录进行升序排序2.9 打印通讯录2.10 结束程序并销毁通讯录3. 文…...

    2023/1/31 21:27:46
  3. java将带空字符串格式化数组_重新格式化字符串数组 - java

    我想根据条件重新格式化String数组。说&#xff0c;数组A ["samsung", "chargers", "fast", "charging", "rapid", "high"]int index 1这意味着我将用空格将这些项附加到索引1并格式化数组。所以&#xff0c;最…...

    2023/1/31 21:27:43
  4. LeetCode 1742. 盒子中小球的最大数量

    【LetMeFly】1742.盒子中小球的最大数量 力扣题目链接&#xff1a;https://leetcode.cn/problems/maximum-number-of-balls-in-a-box/ 你在一家生产小球的玩具厂工作&#xff0c;有 n 个小球&#xff0c;编号从 lowLimit 开始&#xff0c;到 highLimit 结束&#xff08;包括 …...

    2023/1/31 21:27:43
  5. 用户身份管理(CIAM)如何帮助业务持续增长?|身份云研究院

    精明的决策者很早就意识到&#xff0c;数字化转型的核心是为用户提供完善的“数字旅程”&#xff0c;这里的用户包括“员工”和“客户”&#xff0c;而“数字旅程”的核心则是持续提供优质的「数字用户体验&#xff08;DCX&#xff09;」。本文将主要探讨如何制定完善“客户数字…...

    2023/1/31 21:27:40
  6. python贪吃蛇简单代码_Python贪吃蛇简单的代码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 在自学Python的过程中在网上查询资料时发现了一些好玩的东西&#xff0c;python的游戏库模块&#xff0c;它可以自己弄一个小游戏来玩玩&#xff0c;然后我在网上找了一些游戏的代码&#xff0c;&#xff0c;自己改了一些&#xf…...

    2023/1/31 21:27:36
  7. 【数组】移动所有球到每个盒子所需的最小操作数

    1.题目描述 给你一个混合字符串 s &#xff0c;请你返回 s 中 第二大 的数字&#xff0c;如果不存在第二大的数字&#xff0c;请你返回 -1 。 混合字符串 由小写英文字母和数字组成。 示例 1&#xff1a; 输入&#xff1a;s "dfa12321afd" 输出&#xff1a;2 解释…...

    2023/1/31 21:27:30
  8. dede后台密码暴力破解

    织梦本地测试后台密码忘了怎么办dede cms忘记管理员密码:1、登陆网站数据库,找到你忘记后台管理密码的数据库2、找到dede_admin这一个表单,点进去点一下左边表dede_admin3、编辑输入c3949ba59abbe56e057f这段代码点击下下边的执行,执行。密码成功修改。这时你网站后台管理…...

    2023/1/31 21:27:28
  9. 漂亮的easyui界面

    为什么说easyui适宜做后台管理系统?展开1全部后台管理系统不是开发给游客的,是公司内部使用的。比如员工签到系统,人事管理系统。这都是给内部人员使用的。这种后台系统前台风格基本一致,所以就有了easyui这样的东西。你用它,自己就不用写各种各样的htmlc,css,js了。简单方…...

    2023/1/31 21:27:24
  10. 【数据结构】8.6 基数排序

    文章目录基数排序定义基数排序算法基数排序算法分析基数排序定义 前述的各类排序方法都是建立在关键字啊比较的基础上&#xff0c;而分配类排序不需要比较关键字的大小&#xff0c;它是根据关键字中各位的值&#xff0c;通过对待排序记录进行若干趟分配与收集来实现排序的&…...

    2023/1/31 21:27:22
  11. 【微服务】服务网关----Gateway

    服务网关----Gateway1、前言2、网关简介3、Gateway简介4、Gateway快速入门4.1 基础版4.2 增强版(引入nacos)4.3 简写版5、Gateway核心架构5.1 路由(Route)5.2 执行流程6、实现网关限流7、总结1、前言 上篇文章讲解了如何实现服务容错&#xff0c;这篇就介绍下&#xff0c;服务…...

    2023/1/31 21:27:22
  12. anaconda安装tensorflow遇到的问题

    报错信息&#xff1a; CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch/repodata.json> Elapsed: - An HTTP error occurred when trying to retrieve this URL. HTTP errors are often intermit…...

    2023/1/31 21:27:21
  13. 图片破损打不开如何修复?一招轻松恢复损坏图片!

    你是不是也有这样的困扰&#xff1a; 辛苦拍摄的图片打开后&#xff0c;出现像素化&#xff0c;图片有一半不清晰&#xff1b; 明明拍得是彩色找&#xff0c;会出现部分错误着色等问题&#xff1b; 更有甚者&#xff0c;直接图片破损了打不开&#xff0c;出现这些情况怎么办…...

    2023/1/31 21:27:21
  14. 单片机基础之汇编语言入门学习(五) 标志寄存器

    **标志寄存器** 标志位 状态标志&#xff1a;用于记录程序运行结果的状态信息CF ZF SF PF OF AF 控制标志&#xff1a;用于控制处理器执行指令DF IF TF状态标志 CF进位标志&#xff1a;当运算结果的最高有效位有进位&#xff08;加法&#xff09;或借位&…...

    2023/1/31 21:27:20
  15. 面向对象分析与设计_用例图

    判断题 3-16、参与者是指系统内部的、需要与系统进行交互的客观实体&#xff0c;如人、设备。F 3-17、参与者之间除了泛化关系外&#xff0c;还可以有其他的关系&#xff0c;但它们需要用《版型》说明T 3-18、用例是Ivar Jacobson在Rational公司开发AKE、AXE系列系统时发明的。…...

    2023/1/31 21:27:17
  16. 关于list去除引号+报错invalid literal for int() with base 10:

    list[0,1,2] 去单引号&#xff1a; 方法一&#xff1a; list_a [CAU,"CBU","CCU"]list_b ,.join(str(i) for i in list_a) print(list_b) CAU,CBU,CCU 方法二&#xff1a; # 将列表中的引号或"双引号"去掉 # 如Data [11,22,33,44,55,66,7…...

    2023/1/31 21:27:11
  17. Python实战系列-贵州茅台和华能信托股权穿透研究

    文章目录如何对贵州茅台的股权进行穿透研究茅台股权穿透研究代码如下发现在29行代码出现问题&#xff0c;就是href取得是空数组&#xff0c;怀疑是p_href的问题取不到股东信息&#xff0c;所以再仔细查看应该是下面这个第一个地址&#xff1a;这里注意要加sleep&#xff0c;要不…...

    2023/1/31 21:27:11
  18. Nmap列举远程机器开放的端口

    22.06.07.02(Nmap列举远程机器开放的端口) Nmap 列举远程机器开放的端口原理 Nmap 列举远程机器开放的端口&#xff1a; 使用 nmap 来列举该站点的端口信息&#xff0c; 以下给出 zenmap 下扫描结果&#xff0c;也可以是使用命令行下的nmap来探测。 scanme.nmap.org CMD&…...

    2023/1/31 21:27:10
  19. 【学习笔记】AGC009/AGC019/AGC029/AGC035

    AGC009 Eternal Average 奥妙重重 如果我们用树的结构来描述操作&#xff0c;设一个点的深度为xix_ixi​&#xff0c;那么一定满足∑k−xi1\sum k^{-x_i}1∑k−xi​1&#xff0c;并且 Z∑ai1k−xiZ\sum_{a_i1}k^{-x_i}Z∑ai​1​k−xi​。 方便起见&#xff0c;我们引入kkk…...

    2023/1/31 21:27:07
  20. Mysql函数汇总

    聚合函数 AVG(表达式) 返回表达式中所有的平均值。仅用于数字列并自动忽略NULL值。 COUNT(表达式) 返回表达式中非NULL值的数量。可用于数字和字符列。 COUNT(*) 返回表中的行数(包括有NULL值的列)。 MAX(表达式) 返回表达式中的最大值,忽略NULL值。可用于数字、字符和日期时间…...

    2023/1/31 21:27:05