CF2126D This Is the Last Time

题目描述

你有 $n$ 个赌场,编号从 $1$ 到 $n$。每个赌场由三个整数描述:$l_i$、$r_i$ 和 $real_i$($l_i \le real_i \le r_i$)。你最初有 $k$ 枚硬币。 你只有在当前硬币数 $x$ 满足 $l_i \le x \le r_i$ 时,才能在第 $i$ 个赌场玩。玩完后,你的硬币数会变为 $real_i$。 你可以以任意顺序访问这些赌场,并且不要求必须访问所有赌场。每个赌场最多只能访问一次。 你的任务是通过合理选择访问赌场的顺序,使最终获得的硬币数最大。

输入格式

第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。 每个测试用例的第一行包含两个整数 $n$ 和 $k$($1 \le n \le 10^5$,$0 \le k \le 10^9$),分别表示赌场数量和初始硬币数。 接下来的 $n$ 行,每行包含三个整数 $l_i$、$r_i$、$real_i$($0 \le l_i \le real_i \le r_i \le 10^9$),表示第 $i$ 个赌场的参数。 保证所有测试用例中 $n$ 的总和不超过 $10^5$。

输出格式

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

说明/提示

在第一个测试用例中,你可以先去第 $2$ 个赌场,此时你有 $2$ 枚硬币。然后可以去第 $1$ 个赌场,硬币数增加到 $3$。最后去第 $3$ 个赌场,最终硬币数为 $10$,这是最大可能的数量。 在第二个测试用例中,你没有钱,所以无法获得更多。 在第四个测试用例中,直接去第 $2$ 个赌场可以获得 $4$ 枚硬币,这是最优选择。 由 ChatGPT 4.1 翻译