#P1066. 拼车

拼车

题目描述

nn 个人在聚会,聚会结束之后众人一起包了一辆车各回各家,包车费用是 mm 元。现在他们考虑分摊打车的费用,有人提出要均分这 mm 元,也就是说大家都付 mn\frac m n 元。但是很多人不同意,因为有的人住得远,有的人住得近,如果花费相同的钱显然不公平。所以有一位智者出现了:

智者首先统计出了第 ii 个人单独打车回家需要的花费为 aia_i 元,然后他假设最终第 ii 个人分摊 bib_i 元(即 b1+b2+...+bn=mb_1+b_2+...+b_n=m)。然后智者保证所有 aibia_i-b_i 都相等,也就是说大家拼车省的钱都相等,这样就公平了。

大家纷纷赞同,现在请你输出 b1bnb_1 \sim b_n,保留小数点后两位后输出。

输入格式

11 行共两个正数 n,mn, mnn 是一个整数,mm 是一个实数。

22 行共 nn 个非负实数,依次代表 a1,a2,,ana_1, a_2, \dots, a_n

输出格式

一行共 nn 个实数,依次代表每个人需要付费的钱数,保留两位小数。

2 100.00
80.00 40.00
70.00 30.00

样例解释 1

第一个人节约了 1010 元,第二个人同样节约了 1010 元。

数据范围及约定

  • 对于 10%10\% 的数据,n=1n = 1
  • 对于 30%30\% 的数据,n2n \leq 2
  • 对于100%100\% 的数据:1n105,1m,ai1091 \leq n \leq 10^5, 1 \leq m, a_i \leq 10^9

大样例

大样例下载