德州扑克
时间限制: 2000ms
空间限制: 524288KB
题目描述
dXqwq 正在参加一场德州扑克比赛!现在,比赛已经进入了最终阶段:nn 位选手都已经押上了全部的筹码,展示手牌开始比较大小。
但选手只要摊牌就可以,可是作为荷官的 orangejuice 要考虑的事情就很多了。她需要你的帮助来计算每位选手的筹码分配,你能帮她吗?
给定每位选手的筹码量 a_ia
i
和牌力相对大小 b_ib
i
,你需要求出每位选手在这手牌结束之后的筹码量 c_ic
i
。
无论你是否玩过德州扑克,请仔细阅读本题中筹码分配的定义:
统计场上所有筹码量非零的选手的筹码最小值 dd。
将上述所有人每人扣除 dd 的筹码,建立一个边池。
重复这两个操作,直到只有 \le 1≤1 个人的筹码量非零。
对于每个边池,找出所有向该池提供筹码的人中,牌力(并列)最大的。
这些人将会均分这个边池的所有筹码,我们认为筹码可以无限细分。
输入格式
第一行输入一个整数 nn。
第二行输入 nn 个整数 a_ia
i
。
第三行输入 nn 个整数 b_ib
i
。
输出格式
输出 nn 行,第 ii 行输出一个浮点数代表 c_ic
i
。
你的答案会被视为正确,当且仅当对于 i=1,2,\cdots,ni=1,2,⋯,n 都满足 \frac{c_i}{\max(c_i',1)} \le 10^{-6}
max(c
i
′
,1)
c
i
≤10
−6
,其中 c_i'c
i
′
是标准答案的值。
样例
Input 1
5
1 2 3 4 5
5 4 3 2 1
Output 1
5
4
3
2
1
Input 2
5
1 3 5 3 1
2 1 1 2 1
Output 2
2.5
0
2
8.5
0
数据范围
本题采用捆绑测试。
Subtask 1(10 pts):n=2n=2。
Subtask 2(15 pts):n=3n=3。
Subtask 3(15 pts):b_ib
i
全部相同。
Subtask 4(15 pts):b_ib
i
互不相同。
Subtask 5(15 pts):a_ia
i
全部相同。
Subtask 6(15 pts):n\le 2\times 10^3n≤2×10
3
。
Subtask 7(15 pts):无特殊限制。
对于所有数据,2\leq n\leq 10^62≤n≤10
6
,1\leq a_i\leq 10^91≤a
i
≤10
9
,1\leq b_i\leq n1≤b
i
≤n。
样例解释
对于第二个样例,我们会建立 22 个边池:
第一个边池由玩家 1,2,3,4,51,2,3,4,5 提供共 55 枚筹码,玩家 1,41,4 平分底池,每人获得 2.52.5 枚筹码。
第二个边池由玩家 2,3,42,3,4 提供共 66 枚筹码,玩家 44 独占底池并获得 66 枚筹码。
评测规则
1