AT_abc432_f.[ABC432F] Candy Redistribution
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有 N 个孩子,编号为 1 到 N。
第 i 个孩子有 Ai 颗糖果。
你的目标是用尽量少的操作,使得最终所有 N 个孩子分到的糖果数量相同。
每次操作可以:
- 选择两个不同的孩子 x,y,再选择一个不超过孩子 x 当前拥有的糖果数的正整数 z,从 x 手里拿走 z 颗糖果,给到 y。
请判断是否存在一系列操作,使得最终所有 N 个孩子拥有相同数量的糖果。如果存在,请给出一种将操作次数最少的方案。
输入格式
从标准输入读入,格式如下:
N A1 … AN
输出格式
如果不存在任何一种使所有 N 个孩子分到相同数量糖果的操作方案,输出 -1。
如果存在,请输出操作最少的一种方案,格式如下:
q
x1 y1 z1
⋮
xq yq zq
其中 q 表示操作次数,xi,yi,zi 分别表示第 i 次操作选择的 x,y,z。
如果方案不唯一,输出任意一种都视为正确。
输入输出样例
输入#1
4 1 7 4 8
输出#1
3 2 3 1 2 4 1 4 1 4
输入#2
2 100 3
输出#2
-1
说明/提示
样例解释 1
本样例的操作过程如下:
- 从第 2 个孩子拿 1 颗糖果,给到第 3 个孩子。此时每个孩子的糖果数为 1,6,5,8。
- 从第 2 个孩子拿 1 颗糖果,给到第 4 个孩子。此时每个孩子的糖果数为 1,5,5,9。
- 从第 4 个孩子拿 4 颗糖果,给到第 1 个孩子。此时每个孩子的糖果数为 5,5,5,5。
最终,所有孩子都有 5 颗糖果。
数据范围
- 2≤N≤20
- 1≤Ai≤108
- 所有输入均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?