CF2208C.Stamina and Tasks
普及-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有 n 个任务需要你完成。任务 i 有一个整数值 ci 和一个难度 pi。此外,你初始体力为 1,记为 S。你需要按顺序处理从任务 1 到任务 n 的任务。对于每个任务,你有两个选择:
-
放弃该任务。这样做不会发生任何事情。
-
完成该任务。这样你将获得 S⋅ci 分。但是,任务完成后 S 将降至 S⋅(1−100pi)。
你需要最大化完成所有任务后的总得分。
输入格式
每个测试包含多个测试用例。第一行包含测试用例数 t (1≤t≤103)。接下来是测试用例的描述。
每个测试用例的第一行包含一个整数 n (1≤n≤105),表示任务数量。
接下来 n 行每行包含两个整数,分别表示 ci (1≤ci≤100) 和 pi (0≤pi≤100)。
保证所有测试用例的 n 之和不超过 105。
输出格式
对于每个测试用例,输出一个实数——你能获得的最大可能得分。如果你的答案与标准答案的绝对误差或相对误差不超过 10−6,则认为你的答案正确。
正式地说,设你的答案为 a,标准答案为 b。当且仅当 max(1,∣b∣)∣a−b∣≤10−6 时,你的答案被接受。
输入输出样例
输入#1
2 2 10 0 20 5 3 10 5 10 80 20 5
输出#1
30.0000000000 29.0000000000
说明/提示
在第一个测试用例中,最优策略是按顺序完成任务 1 和任务 2,获得 10+20=30 分。
在第二个测试用例中,最优策略是完成任务 1,放弃任务 2,然后完成任务 3。在完成任务 3 之前,你的体力已降至 1−1005=0.95。所以总得分为 10+20⋅0.95=29 分。
输入解题思路,AI测评打分。不知道怎么写?