CF2208C.Stamina and Tasks

普及-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 nn 个任务需要你完成。任务 ii 有一个整数值 cic_i 和一个难度 pip_i。此外,你初始体力为 11,记为 SS。你需要按顺序处理从任务 11 到任务 nn 的任务。对于每个任务,你有两个选择:

  • 放弃该任务。这样做不会发生任何事情。

  • 完成该任务。这样你将获得 S⋅ciS\cdot c_i 分。但是,任务完成后 SS 将降至 S⋅(1−pi100)S\cdot (1-\frac{p_i}{100})。

你需要最大化完成所有任务后的总得分。

输入格式

每个测试包含多个测试用例。第一行包含测试用例数 tt (1≤t≤1031 \le t \le 10^3)。接下来是测试用例的描述。

每个测试用例的第一行包含一个整数 nn (1≤n≤1051\le n\le10^5),表示任务数量。

接下来 nn 行每行包含两个整数,分别表示 cic_i (1≤ci≤1001\le c_i\le 100) 和 pip_i (0≤pi≤1000\le p_i\le 100)。

保证所有测试用例的 nn 之和不超过 10510^5。

输出格式

对于每个测试用例,输出一个实数——你能获得的最大可能得分。如果你的答案与标准答案的绝对误差或相对误差不超过 10−610^{-6},则认为你的答案正确。

正式地说,设你的答案为 aa,标准答案为 bb。当且仅当 ∣a−b∣max⁡(1,∣b∣)≤10−6\frac{|a-b|}{\max(1,|b|)}\le 10^{-6} 时,你的答案被接受。

输入输出样例

  • 输入#1

    2
    2
    10 0
    20 5
    3
    10 5
    10 80
    20 5

    输出#1

    30.0000000000
    29.0000000000

说明/提示

在第一个测试用例中,最优策略是按顺序完成任务 11 和任务 22,获得 10+20=3010+20=30 分。

在第二个测试用例中,最优策略是完成任务 11,放弃任务 22,然后完成任务 33。在完成任务 33 之前,你的体力已降至 1−5100=0.951-\frac{5}{100}=0.95。所以总得分为 10+20⋅0.95=2910+20\cdot 0.95=29 分。

输入解题思路,AI测评打分。不知道怎么写?

首页