atcoder#AGC034C. [AGC034C] Tests

[AGC034C] Tests

配点 : 800800

問題文

高橋くんと青木くんは 11 から NN までの番号がついたテストを受けようとしています。 二人はこのテストの結果を使って勝負することにしました。 具体的には、次のようにして勝敗を決めます。

  • 高橋くんが各テスト ii について、その重要度 cic_i を決める。ただしこの値は lil_i 以上 uiu_i 以下の整数である必要がある。
  • i=1Nci×\sum_{i=1}^{N} c_i \times (高橋くんのテスト ii の点数) を AA, $\$ \sum_{i=1}^{N} c_i \times(青木くんのテスト (青木くんのテスト iの点数) の点数) を Bとする。 とする。 A \geq Bなら高橋くんの勝ち、 なら高橋くんの勝ち、A < B$ なら青木くんの勝ち。

高橋くんはエスパーなので、青木くんがテスト iibib_i 点をとることがわかっています。

高橋くんはこのままだとすべてのテストで 00 点をとってしまいますが、 11 時間勉強するごとに、好きなテストの点数を 11 だけ上げることができます。(11 時間単位でしか勉強できません。) ただしテストはすべて X 点満点なので、 XX より大きい点数にすることはできません。

高橋くんが勝つために必要な最小の勉強時間を出力してください。

制約

  • 1N1051 \leq N \leq 10^5
  • 1X1051 \leq X \leq 10^5
  • 0biX0 \leq b_i \leq X (1iN)(1 \leq i \leq N)
  • 1liui1051 \leq l_i \leq u_i \leq 10^5 (1iN)(1 \leq i \leq N)
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN XX

b1b_1 l1l_1 u1u_1

b2b_2 l2l_2 u2u_2

::

bNb_N lNl_N uNu_N

出力

高橋くんが勝つために必要な最小の勉強時間を出力せよ。

2 100
85 2 3
60 1 1
115

例えば次のようにするのが最適です。

  • c1=3,c2=1c_1 = 3, c_2 = 1 とする。
  • テスト 11100100 点、テスト 221515 点とるように勉強する。

このとき A=3×100+1×15=315A = 3 \times 100 + 1 \times 15 = 315, B=3×85+1×60=315B = 3 \times 85 + 1 \times 60 = 315 なので高橋くんが勝ちます。

2 100
85 2 3
60 10 10
77
1 100000
31415 2718 2818
31415
10 1000
451 4593 6263
324 310 6991
378 1431 7068
71 1757 9218
204 3676 4328
840 6221 9080
684 1545 8511
709 5467 8674
862 6504 9835
283 4965 9980
2540