编程题
### 问题描述 小蓝决定举办一场特殊的活动。这个活动中,小蓝邀请了 $N$ 位市民,并为每位市民分发了一定数量的金币。你得到了一个大小为 $N$ 的数组 $A$,其中 $A_i$ 代表第 $i$ 位市民所得到的金币数量。 然而,有一个特殊的传说:任何一个市民都可以选择成为和尚,离开这个城市并将他的金币部分或全部分发给剩余的市民。如果第 $i$ 位市民决定成为和尚,他会: - 离开这个城市,使得城市中的市民数量减少 1。 - 分发 $X$($0 \leq X \leq A_i$)枚金币给剩余的市民(不一定平均分发)。每位和尚可以自由选择他的 $X$ 值,不同的和尚可能选择不同的 $X$ 值。 - 带走剩余的 $A_i - X$ 枚金币。 小蓝的目标是,通过一系列的和尚转化,使得最后剩余在城市中的所有市民拥有相同数量的金币。你的任务是帮助小蓝确定最少需要多少位市民成为和尚,才能达到这个目标。 ### 输入格式 第一行包含一个单独的整数 $N$,表示市民的数量。 第二行包含 $N$ 个空格分隔的整数:$A_1, A_2, ..., A_N$,表示每位市民初始得到的金币数量。 数据范围保证:$1 \leq N \leq 10^3$,$1 \leq A_i \leq 10^5$。 ### 输出格式 输出一个数字,表示需要最少多少位市民成为和尚。 ### 样例输入 ```text 5 2 1 2 1 1 ``` ### 样例输出 ```text 2 ``` ### 说明 测试用例:两个人成为和尚的方法如下: - 第 $2$ 个人成为和尚,并带走他的 $1$ 枚金 - 第 $3$ 个人成为和尚,并分别给第 $4$ 个人和第 $5$ 个人各赠送一枚金币 现在城市中剩余的每个人都拥有 $2$ 枚金币。
查看答案
赣ICP备20007335号-2