CF1935C.Messenger in MAC

传统题 时间 2000 ms 内存 256 MiB 9 尝试 3 已通过 1 标签

Messenger in MAC

题目描述

在硕士援助中心的学生专用新消息应用 Keftemerum 中,开发者计划进行一次更新,旨在优化展示给用户的消息集合。共有 nn 条消息。每条消息由两个整数 aia_ibib_i 描述。阅读编号为 p1,p2,,pkp_1, p_2, \ldots, p_k1pin1 \le p_i \le n,所有 pip_i 互不相同)的一组消息所需的时间按如下公式计算:

$$\sum_{i=1}^{k} a_{p_i} + \sum_{i=1}^{k - 1} |b_{p_i} - b_{p_{i+1}}|$$

注意,若只阅读一条编号为 p1p_1 的消息,所需时间为 ap1a_{p_1}。若消息集合为空,则阅读时间视为 00。用户可以自行设定愿意在消息应用中花费的时间 ll。应用需告知用户,在不超过 ll 的阅读时间内,最多可以阅读多少条消息。注意,最大消息集合的大小可以为 00

流行消息应用的开发者未能实现此功能,因此他们请求你来解决这个问题。

输入格式

每个测试包含多个测试用例。第一行包含一个整数 tt1t51041 \leq t \leq 5 \cdot 10^4)——测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含两个整数 nnll1n20001 \leq n \leq 20001l1091 \leq l \leq 10^9)——消息数量和用户愿意花费的时间。

接下来的 nn 行中,第 ii 行包含两个整数 aia_ibib_i1ai,bi1091 \le a_i, b_i \le 10^9)——第 ii 条消息的特征。

保证所有测试用例中 n2n^2 的总和不超过 41064 \cdot 10^6

输出格式

对于每个测试用例,输出一个整数——在不超过 ll 的阅读时间内,最多可以阅读的消息数量。

说明/提示

在第一个测试用例中,可以选择编号为 p1=3p_1 = 3p2=2p_2 = 2p3=5p_3 = 5 的三条消息。阅读这组消息所需时间为 $a_3 + a_2 + a_5 + |b_3 - b_2| + |b_2 - b_5| = 2 + 1 + 2 + |4 - 5| + |5 - 3| = 8$。

在第二个测试用例中,可以选择编号为 p1=1p_1 = 1 的一条消息。阅读这条消息所需时间为 a1=4a_1 = 4

在第五个测试用例中,可以证明不存在任何非空的消息集合,其阅读时间不超过 ll

由 ChatGPT 4.1 翻译

样例

5
5 8
4 3
1 5
2 4
4 3
2 3
1 6
4 10
3 12
4 8
2 1
2 12
5 26
24 7
8 28
30 22
3 8
17 17
5 14
15 3
1000000000 998244353
179 239
228 1337
993 1007
3
1
2
1
0

在线编程 IDE

建议全屏模式获得最佳体验