编程题
### 问题描述 **面试官:** "非常高兴见到你!我们公司一直在寻找创新的解决方案来优化我们的产品。我想给你一个有趣的问题,看看你如何思考。" **你:** "好的,我准备好了!" **面试官:** "假设你面前有 $N$ 个水杯,每个水杯中装有不同的水量,分别为 $W_1,W_2,W_3,\cdots,W_N$。你可以进行以下操作:选择两个不同的水杯 $i$ 和 $j$($i \ne j$),然后将这两个水杯中的水量更新为它们的平均值。" **你:** "明白了,这样的话两个水杯的水量会变得相同。" **面试官:** "没错!请注意,水杯的数量不会改变。你可以进行任意次数的操作,也可以不进行操作。我的问题是:在进行这些操作后,$N$ 个水杯中最多会出现多少种不同的水量?" **你:** "这听起来很有趣,让我思考一下。" ### 输入格式 第一行输入一个整数 $N(1 \leq N \leq 10^3)$ 表示水杯数量。 第二行输入 $N$ 个整数 $W_1,W_2,W_3, \cdots,W_N(1 \leq W_i \leq 10^9)$ 表示每个水杯的水量。 ### 输出格式 输出一个整数表示答案。 ### 样例输入 ```text 5 1 2 3 2 4 ``` ### 样例输出 ```text 4 ``` ### 样例说明 我们可以将第 $2$ 和第 $3$ 杯水进行一次操作后每个水杯的水量变为 $[1,2.5,2.5,2,4]$。 再将第 $1$ 和第 $2$ 杯水进行一次操作后每个水杯的水量变为 $[1.75,1.75,2.5,2,4]$,答案为 $4$。
查看答案
赣ICP备20007335号-2