#G1197. [GESP202509 三级T2] 数组清零

    ID: 5181 传统题 1000ms 256MiB 尝试: 3 已通过: 3 难度: 2 上传者: 标签>GESP三级数组入门一维数组模拟循环结构下标计数顺序结构

[GESP202509 三级T2] 数组清零

题目描述

小 A 有一个由 nn 个非负整数构成的数组 a=[a1,a2,ldots,an]a=[a_1,a_2,ldots,a_n]。他会对数组 aa 重复进行以下操作,直到数组 aa 只包含 00

  1. 在数组 aa 中找到最大的整数,记其下标为 kk。如果有多个最大值,那么选择其中下标最大的。
  2. 从数组 aa 所有不为零的整数中找到最小的整数 aja_j
  3. 将第一步找出的 aka_k 减去 aja_j

例如,数组 [2,3,4][2,3,4] 需要 77 次操作变成 [0,0,0][0,0,0]

$$[2,3,4] o[2,3,2] o[2,1,2] o[2,1,1] o[1,1,1] o[1,1,0] o[1,0,0] o[0,0,0]$$

请计算给定数组全部变成 00 所需要的操作次数。可以证明,数组中的整数必然可以在有限次操作后全部变成 00

输入格式

第一行输入一个正整数 nn,表示数组长度。

第二行输入 nn 个非负整数 a1,a2,ldots,ana_1,a_2,ldots,a_n

输出格式

输出一行一个整数,表示所需操作次数。

3
2 3 4
7

数据范围与提示

  • 1lenle1001 le n le 100
  • 0leaile1000 le a_i le 100

若输入为:

5 1 3 2 2 5

输出为:

13