#21817. 拼车计划(car)

拼车计划(car)

说明

蒟蒻队长今天邀请了 $n$ 个小伙伴来家里吃饭,吃完以后他们准备打车回家,但是因为人数比较多,分开打车显然会比较浪费钱,于是他们决定花 $m$ 元直接包一辆车!

那包车钱怎么办呢?肯定要大家 $AA$,也就是每个人付 $m / n$ 元钱,但是很多人不满意了,因为有的人离得近,有的人离得远,离得近的人打车花的钱肯定要便宜,那拼车就不划算了

这时候,睿智的蒟蒻队长站了出来!

蒟蒻队长先统计了一下所有人单独打车回家的花费 $a_i$,他觉得既然要公平,那就不应该是按照完整的价格 $AA$,而是让所有人省的钱一样

也就是说蒟蒻队长需要计算出了每个人应该分摊的费用 $b_i$,也就是第 $i$ 个人付 $b_i$ 元拼车费,显然 $b_1+b_2+...+b_n=m$,并且保证所有 $b_i-a_i$ 都相等,那么对于每个人来说,拼车比自己打车便宜,而且每个人省下的钱数量是一样的,这样最公平!

现在蒟蒻队长想知道,每个人应该分摊的费用 $b_i$ 分别是多少呢?

输入格式

输入第一行包含两个正数 $n,m$,其中整数 $n$ 表示人数,实数 $m$ 表示包车费用

输入第二行包含 nn 个非负实数,分别表示 a1,a2...ana_1,a_2...a_n

测试点编号$n$
$1$$n=1$
$2 \sim 3$$n \leq 2$
$4 \sim 10$$1 \leq n \leq 10^5$

对于所有数据保证:1≤m,ai≤1091 \leq m,a_i \leq 10^9

</span>

输出格式

输出一行包含 $n$ 个实数,用空格隔开,分别表示每个人分摊的费用 $b_i$,输出保留两位小数

2 100.00
80.00 40.00
70.00 30.00

来源

CSP模拟赛