CF2023D.Many Games
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
最近,你获得了一张通往世界上唯一一家真正能赢钱的赌场的稀有门票,你想充分利用这个机会。
该赌场的规则如下:
- 赌场一共有 n 个游戏。
- 每个游戏你最多只能玩一次。
- 每个游戏有两个参数:pi(1≤pi≤100)和 wi——分别表示该游戏的获胜概率(百分比)和获胜时的奖金。
- 如果你决定玩的任意一个游戏输了,那么你将一无所获(即使你赢了其他游戏也得不到奖金)。
你需要提前选择一组要参与的游戏,使得你的期望奖金最大。
具体来说,如果你选择了编号为 i1<i2<…<ik 的游戏,你全部获胜的概率为 j=1∏k100pij,此时你获得的奖金为 j=1∑kwij。
也就是说,你的期望奖金为 (j=1∏k100pij)⋅(j=1∑kwij)。
为了避免破产,赌场老板对每个单独游戏的期望奖金做了限制。对于所有 i(1≤i≤n),都有 wi⋅pi≤2⋅105。
你的任务是,选择赌场中的某些游戏,使得可以获得的期望奖金最大。
输入格式
第一行包含一个整数 n(1≤n≤2⋅105),表示可玩的游戏数量。
接下来的 n 行中,第 i 行包含两个整数 pi 和 wi(1≤pi≤100,1≤wi,pi⋅wi≤2⋅105),分别表示第 i 个游戏的获胜概率和奖金。
输出格式
输出一个实数,表示通过选择某些游戏可以获得的最大期望奖金。
如果你的答案与标准答案的相对或绝对误差不超过 10−6,则视为正确。形式化地说,若你的答案为 a,标准答案为 b,则当 max(b,1)∣a−b∣≤10−6 时,答案被接受。
输入输出样例
输入#1
3 80 80 70 100 50 200
输出#1
112.00000000
输入#2
2 100 1 100 1
输出#2
2.00000000
输入#3
4 1 100 2 1000 2 100 3 1
输出#3
20.00000000
输入#4
5 34 804 78 209 99 191 61 439 90 79
输出#4
395.20423800
说明/提示
在第一个样例中,你可以选择第一个和第三个游戏。此时期望奖金为 (100p1⋅100p3)⋅(w1+w3)=(10080⋅10050)⋅(80+200)=112。
在第二个样例中,你可以选择第一个和第二个游戏。此时期望奖金为 (100p1⋅100p2)⋅(w1+w2)=(100100⋅100100)⋅(1+1)=2。
在第三个样例中,你只能选择第二个游戏。此时期望奖金为 100p2⋅w2=1002⋅1000=20。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?