luogu#P6069. 『MdOI R1』Group

『MdOI R1』Group

题目背景

此题为比赛时的数据。

然鹅后来yummy觉得没这个必要,于是放弃加强。

存在不使用long double__int128的写法。

题目描述

为了让我们团队的同学更加团结,我们需要让各个成员的水平尽量平均。这时,就需要有人对自己产生一些改变。

我们的团队有 nn 个同学,第 ii 个同学的水平值是一个整数 aia_i

我们认为当整组同学水平值的 方差 不超过 mm 的时候,这组同学就是团结的。

请问至少要让几个同学改变自己的水平值(可以改成任意一个 实数),这个团队才可以做到团结?

为避免读入时的精度误差,本题输入的 mm实际值的 nn,这个值是一个整数。


如果你不知道什么叫做方差,以下是方差的基本概念:

方差是衡量一组数据 波动程度 的指标。

设长度为 nn 的序列 a1na_{1\dots n} 的平均数为 pp,则该序列的方差 SS 为:

S=1ni=1n(aip)2S=\frac{1}{n} \sum_{i=1}^n(a_i-p)^2

输入格式

第一行,整数 n,mn,m,分别表示同学的人数和方差上限的 nn 倍。

第二行,nn 个整数 a1na_{1\cdots n},表示每个同学的水平值。

输出格式

第一行,一个整数 tt,表示最少要改变水平值的人数。

4 32
3 7 -5 -1

1

5 18
1 4 3 6 9

1

6 679
5 83 56 20 54 111

3

提示

【样例 1 解释】

这组样例中,n=4n=4,真实的 m=32n=8m=\dfrac{32}{n}=8

一开始,所有同学水平值 aia_i 的平均数为 11,方差为:

$$S=\dfrac{1}{4}[(3-1)^2+(7-1)^2+(-5-1)^2+(-1-1)^2]=20 $$

把第 33 个同学的水平值改成 33 后,平均数为 33,方差为:

$$S=\dfrac{1}{4}[(3-3)^2+(7-3)^2+(3-3)^2+(-1-3)^2]=8 $$

只改变了 11 人的水平值,即满足了题目要求。

【样例 2 解释】

这组样例中,n=5n=5,真实的 m=18n=3.6m=\dfrac{18}{n}=3.6

一开始,所有同学水平值 aia_i 的平均数为 4.64.6,方差为 7.447.44

把第 55 个同学的水平值改成 3.53.5 后,平均数为 3.53.5方差为 2.62.6

只改变了 11 人的水平值,即满足了题目要求。


【数据范围】

子任务编号 nn\leq 分值
1 1616 15
2 300300 17
3 10310^3 20
4 5×1035\times 10^3 7
5 10410^4 8
6 2×1052\times 10^5 33

对于所有测试点,1n2×1051\leq n\leq 2\times 10^51m10181\leq m\leq 10^{18}0ai1060\leq |a_i|\leq 10^6