#abc305h. [abc305_h]Shojin

[abc305_h]Shojin

问题描述

你决定练习。练习意味着在AtCoder上解决大量的问题。 练习需要几天时间。每天的练习分为以下步骤。

  • MM 成为当天要解决的问题数。每个问题都有一个名为难度的值,它是一对非负整数(A,B)(A, B)
  • 首先,以任意顺序重新排列这 MM 个问题。然后按照这个顺序逐个解决问题。
  • 你拥有一个名为疲劳值的值。一天开始时的疲劳值为 00,当解决一个难度为 (A,B)(A, B) 的问题时,疲劳值从 xx 变为 Ax+BAx + B
  • 解决完所有 MM 个问题后,疲劳值称为当天消耗的能量

在AtCoder中有一个由 NN 个问题组成的序列,称为问题 11,问题 22dots\\dots,问题 NN,按顺序排列。问题 ii 的难度是 (Ai,Bi)(A_i, B_i)。 你决定通过练习解决所有 NN 个问题。 练习按以下步骤进行。下面,让 \[L, R\] 表示以下问题序列:问题 LL,问题 L+1L+1......,问题 RR

  • 11NN 之间任意选择一个整数 KK。练习将持续 KK 天。
  • NN 个问题的序列划分为 KK 个非空连续子序列,并让 SiS_i 表示第 ii 个序列。 具体来说,选择一个严格递增的非负整数序列 x0,x1,dots,xKx_0, x_1, \\dots, x_K,满足 1=x01 = x_0xK=N+1x_K = N + 1,并让 S_i = \[x_{i-1}, x_i - 1\],其中 1leqileqK1 \\leq i \\leq K
  • 然后,对于 i=1,2,dots,Ki=1, 2, \\dots, K,在练习的第 ii 天解决 SiS_i 中的所有问题。

你决定练习,使得在整个练习过程中消耗的总能量不超过 XX。 设 DD 是这样一个练习的最小可能天数 KK 的值。(在这里,保证 sumi=1NBileqX\\sum_{i = 1}^N B_i \\leq X。在此约束条件下,这样的 DD 总是存在的。) 还设 MM 是这样一个练习的最小可能总能量,使得 K=DK=D

找出 DDMM

约束条件

  • 1leqNleq2times1051 \\leq N \\leq 2 \\times 10^5
  • 1leqXleq1081 \\leq X \\leq 10^8
  • 1leqAileq1051 \\leq A_i \\leq 10^5
  • 1leqBi1 \\leq B_i
  • sumi=1NBileqX\\sum_{i=1}^N B_i \\leq X
  • 所有输入值都是整数。

输入

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

NN XX A1A_1 B1B_1 A2A_2 B2B_2 vdots\\vdots ANA_N BNB_N

输出

以空格分隔打印 DDMM


示例输入 1

3 100
2 2
3 4
5 7

示例输出 1

1 52

在这个测试案例中,你可以在一天内解决所有问题,同时满足 XX 的条件。 按照以下步骤进行,练习期间消耗的总能量将为52,这是最小值。

  • 设置 K=1K=1,并在第一天解决 \[1, 3\]
  • 在第一天的练习中按照以下步骤进行。
    • 按顺序排列问题(问题 33,问题 22,问题 11)。
    • 最初,疲劳值为 00
    • 解决问题 33。疲劳值变为 5times0+7=75 \\times 0 + 7 = 7
    • 解决问题 22。疲劳值变为 3times7+4=253 \\times 7 + 4 = 25
    • 解决问题 11。疲劳值变为 2times25+2=522 \\times 25 + 2 = 52
    • 解决完所有问题时,疲劳值为 5252。因此,当天消耗的能量为 5252
  • 整个练习期间消耗的总能量也为 5252

示例输入 2

3 30
2 2
3 4
5 7

示例输出 2

2 17

这个测试案例是在第一个测试案例的基础上将 XX100100 变成 3030。因此,无法在一天内解决所有问题,同时满足 XX 的条件。

按照以下步骤,你可以通过连续两天的练习实现 M=17M=17

  • 设置 K=2K = 2,并在第一天解决 \[1, 2\],第二天解决 \[3, 3\]
  • 在第一天的练习中按照以下步骤进行。
    • 按顺序排列问题(问题 11,问题 22)。
    • 最初,疲劳值为 00
    • 解决问题 11。疲劳值变为 2times0+2=22 \\times 0 + 2 = 2
    • 解决问题 22。疲劳值变为 3times2+4=103 \\times 2 + 4 = 10
    • 解决完所有问题时,疲劳值为 1010。因此,第一天消耗的能量为 1010
  • 在第二天的练习中按照以下步骤进行。
    • 按顺序排列问题(问题 33)。
    • 最初,疲劳值为 00
    • 解决问题 33。疲劳值变为 5times0+7=75 \\times 0 + 7 = 7
    • 解决完所有问题时,疲劳值为 77。因此,第二天消耗的能量为 77
  • 整个练习期间消耗的总能量为 10+7=1710 + 7 = 17

示例输入 3

5 50000000
100000 10000000
100000 10000000
100000 10000000
100000 10000000
100000 10000000

示例输出 3

5 50000000

最优练习是每天解决一个问题。


示例输入 4

10 100000000
5 88
66 4
52 1
3 1
12 1
53 25
11 12
12 2
1 20
47 10

示例输出 4

2 73647

示例输入 5

15 100000000
2387 3178
2369 5772
1 29
36 3
52 2981
196 1
36 704
3 3
1501 5185
23 628
3623 810
80 101
6579 15
681 7
183 125

示例输出 5

4 54468135