#aBC203C. [ABC203C] Friends and Travel costs

[ABC203C] Friends and Travel costs

AT_abc203_c [ABC203C] Friends and Travel costs

题目描述

10100+110^{100}+1 个村庄,分别编号为村庄 00、村庄 11\ldots、村庄 1010010^{100}
对于所有 0010100110^{100}-1 之间的整数 ii,你可以支付 11 日元从村庄 ii 移动到村庄 (i+1)(i+1)。除此之外,没有其他移动方式。

太郎君一开始带着 KK 日元站在村庄 00,他想尽可能前进到编号最大的村庄。
太郎君有 NN 个朋友,第 ii 个朋友在村庄 AiA_i,当太郎君到达村庄 AiA_i 时,这个朋友会给太郎君 BiB_i 日元。
请你求出太郎君最终能够到达的村庄编号。

输入格式

输入通过标准输入给出,格式如下:

NN KK
A1A_1 B1B_1
A2A_2 B2B_2
\vdots
ANA_N BNB_N

输出格式

请输出答案。

输入输出样例 #1

输入 #1

2 3
2 1
5 10

输出 #1

4

输入输出样例 #2

输入 #2

5 1000000000
1 1000000000
2 1000000000
3 1000000000
4 1000000000
5 1000000000

输出 #2

6000000000

输入输出样例 #3

输入 #3

3 2
5 5
2 1
2 2

输出 #3

10

说明/提示

限制条件

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1K1091 \leq K \leq 10^9
  • 1Ai10181 \leq A_i \leq 10^{18}
  • 1Bi1091 \leq B_i \leq 10^9
  • 所有输入均为整数。

样例解释 1

太郎君的行动如下:

  • 从村庄 00 支付 11 日元前往村庄 11,剩余 22 日元。
  • 从村庄 11 支付 11 日元前往村庄 22,剩余 11 日元。
  • 在村庄 22 收到第 11 个朋友给的 11 日元,剩余 22 日元。
  • 从村庄 22 支付 11 日元前往村庄 33,剩余 11 日元。
  • 从村庄 33 支付 11 日元前往村庄 44,剩余 00 日元。此时村庄 44 没有朋友,因此停在村庄 44。 因此,输出 44

样例解释 2

请注意,答案可能无法用 3232 位整数表示。

样例解释 3

同一个村庄可能有多个朋友。

由 ChatGPT 4.1 翻译