CF2126D.This Is the Last Time

普及-

通过率:0%

AC君温馨提醒

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

题目描述

你有 nn 个赌场,编号从 11 到 nn。每个赌场由三个整数描述:lil_i、rir_i 和 realireal_i(li≤reali≤ril_i \le real_i \le r_i)。你最初有 kk 枚硬币。

你只有在当前硬币数 xx 满足 li≤x≤ril_i \le x \le r_i 时,才能在第 ii 个赌场玩。玩完后,你的硬币数会变为 realireal_i。

你可以以任意顺序访问这些赌场,并且不要求必须访问所有赌场。每个赌场最多只能访问一次。

你的任务是通过合理选择访问赌场的顺序,使最终获得的硬币数最大。

输入格式

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例的第一行包含两个整数 nn 和 kk(1≤n≤1051 \le n \le 10^5,0≤k≤1090 \le k \le 10^9),分别表示赌场数量和初始硬币数。

接下来的 nn 行,每行包含三个整数 lil_i、rir_i、realireal_i(0≤li≤reali≤ri≤1090 \le l_i \le real_i \le r_i \le 10^9),表示第 ii 个赌场的参数。

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

输出格式

对于每个测试用例,输出一个整数,表示在最优访问顺序下你最终能获得的最大硬币数。

输入输出样例

  • 输入#1

    5
    3 1
    2 3 3
    1 2 2
    3 10 10
    1 0
    1 2 2
    1 2
    1 2 2
    2 2
    1 3 2
    2 4 4
    2 5
    1 10 5
    3 6 5

    输出#1

    10
    0
    2
    4
    5

说明/提示

在第一个测试用例中,你可以先去第 22 个赌场,此时你有 22 枚硬币。然后可以去第 11 个赌场,硬币数增加到 33。最后去第 33 个赌场,最终硬币数为 1010,这是最大可能的数量。

在第二个测试用例中,你没有钱,所以无法获得更多。

在第四个测试用例中,直接去第 22 个赌场可以获得 44 枚硬币,这是最优选择。

由 ChatGPT 4.1 翻译

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

首页