QOJ.ac

QOJ

Time Limit: 1.5 s Memory Limit: 512 MB Total points: 100 Hackable ✓

#9355. 饲养兔子

Statistics

DreamGrid 饲养了 $n$ 只兔子。最初,第 $i$ 只($1 \le i \le n$)兔子的体重为 $w_i$。

每天早上,DreamGrid 会给兔子们一个重量为 1 的胡萝卜,兔子们会为这唯一的胡萝卜进行争抢。只有一只兔子会赢得争抢并吃掉胡萝卜。吃掉胡萝卜后,获胜兔子的体重增加 1。整个争抢和进食的过程在第二天早上之前结束。

DreamGrid 发现,兔子越重,就越容易赢得争抢。形式化地,如果争抢前兔子们的体重分别为 $w_1, w_2, \dots, w_n$,那么第 $i$ 只兔子赢得争抢的概率为:

$$\frac{w_i}{\sum_{j=1}^{n} w_j}$$

他想知道 $k$ 天(即 $k$ 个胡萝卜被分发并吃掉)后,每只兔子的期望体重。

输入格式

输入包含多组测试数据。第一行包含一个整数 $T$($1 \le T \le 10^5$),表示测试数据的组数。

对于每组测试数据,第一行包含两个整数 $n$ 和 $k$($1 \le n \le 10^5, 1 \le k \le 10^9$)。第二行包含 $n$ 个整数 $w_1, w_2, \dots, w_n$($1 \le i \le n, 1 \le w_i \le 10^9$)。

保证所有测试数据的 $n$ 之和不超过 $10^6$。

输出格式

对于每组测试数据,输出一行,包含 $n$ 个用空格分隔的实数,其中第 $i$ 个数表示第 $i$ 只兔子在 $k$ 天后的期望体重。

如果你的答案与标准答案的绝对误差或相对误差不超过 $10^{-4}$,则视为正确。

样例

样例输入 1

3
1 1
2
2 2
1 3
3 2
1 1 1

样例输出 1

3.00000000
1.50000000 4.50000000
1.66666667 1.66666667 1.66666667

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.