长沙网站设计工作室,设计网站推荐提升审美,河南省住房城乡建设厅官方网站,关于教做鞋的网站[题目概述]
几个人一起出去吃饭是常有的事。 但在结帐的时候#xff0c;常常会出现一些争执。 现在有 n 个人出去吃饭#xff0c;他们总共消费了 S 元。 其中第 i 个人带了 a i a_i ai 元。 幸运的是#xff0c;所有人带的钱的总数是足够付账的#xff0c;但现在问题来…[题目概述]
几个人一起出去吃饭是常有的事。 但在结帐的时候常常会出现一些争执。 现在有 n 个人出去吃饭他们总共消费了 S 元。 其中第 i 个人带了 a i a_i ai 元。 幸运的是所有人带的钱的总数是足够付账的但现在问题来了每个人分别要出多少钱呢 为了公平起见我们希望在总付钱量恰好为 S 的前提下最后每个人付的钱的标准差最小。 这里我们约定每个人支付的钱数可以是任意非负实数即可以不是 1 分钱的整数倍。 你需要输出最小的标准差是多少。 标准差的介绍标准差是多个数与它们平均数差值的平方平均数一般用于刻画这些数之间的“偏差有多大”。 形式化地说设第 i 个人付的钱为 b i b_i bi 元那么标准差为 :
输入格式
第一行包含两个整数 n、S 第二行包含 n 个非负整数 a1, …, an。
输出格式
输出最小的标准差四舍五入保留 4 位小数。
数据范围 1 ≤ n ≤ 5 × 1 0 5 1 ≤ n ≤ 5×10^5 1≤n≤5×105, 0 ≤ a i ≤ 1 0 9 0 ≤ a_i ≤ 10^9 0≤ai≤109, 0 ≤ S ≤ 1 0 1 5 0 ≤ S ≤ 10^15 0≤S≤1015。
输入样例1
5 2333
666 666 666 666 666输出样例1
0.0000输入样例2
10 30
2 1 4 7 4 8 3 6 4 7输出样例2
0.7928