#abc305h. [abc305_h]Shojin

[abc305_h]Shojin

問題文

あなたは 精進 をすることにしました。精進とは、AtCoder の問題を大量に解くことをいいます。
精進は何日か掛けて行われます。1 日における精進は次の手順で行われます。

  • その日に MM 問の問題を解くとする。各問題には非負整数対 (A,B)(A, B)難易度 と呼ばれる値としてついている。
  • まず、MM 問を自由な順番に並べ替える。そして、並び替えた後の順に問題を 1 問ずつ解いていく。
  • あなたは 疲労度 という値を持っている。1 日のはじめの疲労度は 00 であり、難易度が (A,B)(A, B) である問題を解くごとに疲労度が xx から Ax+BAx + B に変化する。
  • MM 問すべて解いた時点での疲労度を、その日の 消費した体力 と呼ぶ。

NN 問の AtCoder の問題が並んでいて、順に問題 11, 問題 22, dots\\dots, 問題 NN と呼びます。問題 ii の難易度は (Ai,Bi)(A_i, B_i) です。
あなたは精進を行うことで NN 問の問題を全て解くことにしました。
精進は次の手順で行います。以下では問題 LL, 問題 L+1L+1, ......, 問題 RR からなる問題の列を \[L, R\] と呼びます。

  • 11 以上 NN 以下の整数 KK を自由に選ぶ。精進する日数を KK 日とする。
  • NN 問の問題の列を、KK 個の非空な連続部分列に分割して、前から ii 番目の列を SiS_i とする。
    形式的に説明すると、狭義単調増加な非負整数列 x0,x1,dots,xKx_0, x_1, \\dots, x_K のうち 1=x01 = x_0 かつ xK=N+1x_K = N + 1 を満たすものを 1 つ選び、1leqileqK1 \\leq i \\leq K について S_i = \[x_{i-1}, x_i - 1\] とする。
  • そして、i=1,2,dots,Ki=1, 2, \\dots, K について、 ii 日目の精進では SiS_i に含まれる問題全てを解く。

あなたは、精進全体での消費した体力の総和が XX 以下になるように精進をすることにしました。
このような精進の日数 KK として取り得る最小の値を DD とします。(ここで XX について、sumi=1NBileqX\\sum_{i = 1}^N B_i \\leq X が保証されています。この制約下において条件を満たす DD は必ず存在します。)
また、K=DK=D である精進において、精進全体での消費した体力の総和として取り得る最小の値を MM とします。

DD および MM を求めてください。

制約

  • 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

出力

DD および MM を空白区切りで出力せよ。


入力例 1

3 100
2 2
3 4
5 7

出力例 1

1 52

このテストケースでは XX に関する条件を満たしながら 11 日で全ての問題を解くことが可能です。
以下の手順で精進を行うことで、精進全体での消費した体力は 5252 になり、これが最小です。

  • K=1K=1 として、11 日目に \[1, 3\] を解くとする。
  • 11 日目の精進は以下の手順で行う。
    • 問題を (問題 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

このテストケースは、1 番目のテストケースの XX100100 から 3030 に変えたものです。よって、 XX に関する条件を満たしながら 11 日で全ての問題を解くことは不可能です。

以下の手順に従って精進を 22 日間行うことで M=17M=17 を達成できます。

  • K=2K = 2 として、11 日目に \[1, 2\], 22 日目に \[3, 3\] を解くとする。
  • 11 日目の精進は以下の手順で行う。
    • 問題を (問題 11, 問題 22) の順に並べる。
    • はじめ、疲労度は 00 である。
    • 問題 11 を解く。疲労度は 2times0+2=22 \\times 0 + 2 = 2 に変化する。
    • 問題 22 を解く。疲労度は 3times2+4=103 \\times 2 + 4 = 10 に変化する。
    • 全ての問題を解いた時点での疲労度は 1010 である。よって 11 日目の消費した体力は 1010 となる。
  • 22 日目の精進は以下の手順で行う。
    • 問題を (問題 33) の順に並べる。
    • はじめ、疲労度は 00 である。
    • 問題 33 を解く。疲労度は 5times0+7=75 \\times 0 + 7 = 7 に変化する。
    • 全ての問題を解いた時点での疲労度は 77 である。よって 22 日目の消費した体力は 77 となる。
  • 精進全体での消費した体力の総和は 10+7=1710 + 7 = 17 である。

入力例 3

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

出力例 3

5 50000000

1111 問ずつ解いていく精進が答えとなります。


入力例 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