AT_abc432_f.[ABC432F] Candy Redistribution

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 NN 个孩子,编号为 11 到 NN。

第 ii 个孩子有 AiA_i 颗糖果。

你的目标是用尽量少的操作,使得最终所有 NN 个孩子分到的糖果数量相同。

每次操作可以:

  • 选择两个不同的孩子 x,yx,y,再选择一个不超过孩子 xx 当前拥有的糖果数的正整数 zz,从 xx 手里拿走 zz 颗糖果,给到 yy。

请判断是否存在一系列操作,使得最终所有 NN 个孩子拥有相同数量的糖果。如果存在,请给出一种将操作次数最少的方案。

输入格式

从标准输入读入,格式如下:

NN A1A_1 …\dots ANA_N

输出格式

如果不存在任何一种使所有 NN 个孩子分到相同数量糖果的操作方案,输出 -1。

如果存在,请输出操作最少的一种方案,格式如下:

qq
x1x_1 y1y_1 z1z_1
⋮\vdots
xqx_q yqy_q zqz_q

其中 qq 表示操作次数,xi,yi,zix_i, y_i, z_i 分别表示第 ii 次操作选择的 x,y,zx, 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

本样例的操作过程如下:

  1. 从第 22 个孩子拿 11 颗糖果,给到第 33 个孩子。此时每个孩子的糖果数为 1,6,5,81, 6, 5, 8。
  2. 从第 22 个孩子拿 11 颗糖果,给到第 44 个孩子。此时每个孩子的糖果数为 1,5,5,91, 5, 5, 9。
  3. 从第 44 个孩子拿 44 颗糖果,给到第 11 个孩子。此时每个孩子的糖果数为 5,5,5,55, 5, 5, 5。

最终,所有孩子都有 55 颗糖果。

数据范围

  • 2≤N≤202 \leq N \leq 20
  • 1≤Ai≤1081 \leq A_i \leq 10^8
  • 所有输入均为整数。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页