#ATabc145e. [ABC145E] All-you-can-eat

[ABC145E] All-you-can-eat

AT_abc145_e [ABC145E] All-you-can-eat

题目描述

高桥君来到了一个自助餐厅。

NN 种不同的菜,第 ii 种菜需要 AiA_i 分钟才能吃完,美味度为 BiB_i

这家店的规则如下:

  • 每次只能点一道菜。点菜后会立即上菜,可以立刻开始吃。
  • 同一种菜不能点两次及以上。
  • 必须吃完当前已上的菜后,才能点下一道菜。
  • 从第一次点菜开始,T0.5T-0.5 分钟之后就不能再点菜了,但已经上的菜可以继续吃完。

高桥君的满足度为本次用餐中所吃菜的美味度之和。

请问高桥君如果合理安排,最多能获得多少满足度?

输入格式

输入按以下格式从标准输入读入。

NN TT
A1A_1 B1B_1
A2A_2 B2B_2
\vdots
ANA_N BNB_N

输出格式

输出高桥君合理安排时能获得的最大满足度。

样例 1

输入

2 60
10 10
100 100

输出

110

样例 2

输入

3 60
10 10
10 20
10 30

输出

60

样例 3

输入

3 60
30 10
30 20
30 30

输出

50

样例 4

输入

10 100
15 23
20 18
13 17
24 12
18 29
19 27
23 21
18 20
27 15
22 25

输出

145

说明/提示

限制条件

  • 2N30002 \leq N \leq 3000
  • 1T30001 \leq T \leq 3000
  • 1Ai30001 \leq A_i \leq 3000
  • 1Bi30001 \leq B_i \leq 3000
  • 输入中的所有值均为整数。

样例解释 1

依次点第 11 道和第 22 道菜,可以获得满足度 110110。请注意,只要点菜时在时间限制内,吃完所需时间不受限制。

样例解释 2

可以在 6060 分钟内吃完所有菜。

样例解释 3

依次点第 22 和第 33 道菜,可以获得满足度 5050。无论如何排序,都无法点 33 道菜。

由 ChatGPT 4.1 翻译