题库练习 数组清零

A67336 | 数组清零

来源2025年
时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

试题名称:数组清零

时间限制:1.0 s

内存限制:512.0 MB

3.1.1 题目描述

A 有一个由 n 个非负整数构成的数组 a=[a1,a2...an]。他会对数组 a重复进行以下操作,直到数组 a只包含 0。在一次操作中,小 A 会依次完成以下三个步骤:

1. 在数组 a 中找到最大的整数,记其下标为 k 。如果有多个最大值,那么选择其中下标最大的。

2. 从数组 a 所有不为零的整数中找到最小的整数 aj

3. 将第一步找出的 ak 减去 aj

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

A 想知道,对于给定的数组 a,需要多少次操作才能使得 a中的整数全部变成 0。可以证明, a中整数必然可以在有限次操作后全部变成 0。你能帮他计算出答案吗?

3.1.2 输入格式

第一行,一个正整数 n,表示数组 a的长度。

第二行, n个非负整数 a1,a2...an,表示数组a中的整数。

3.1.3 输出格式

一行,一个正整数,表示a 中整数全部变成0 所需要的操作次数。

3.1.4 样例

3.1.4.1 输入样例 1

3

2 3 4

3.1.4.2 输出样例 1

7

3.1.4.3 输入样例 2

5

1 3 2 2 5

3.1.4.4 输出样例 2

13

3.1.5 数据范围

对于所有测试点,保证

C++ 编辑器
输入
输出