#ZC1G. 阿兔与兔崽子

阿兔与兔崽子

题目描述

一群兔崽子发动叛乱,意图干掉阿兔。然而,阿兔非常聪明,他能够以最佳的攻击顺序逐一制服兔崽子们。

战斗过程如下

  1. 所有未被制服的兔崽子同时对阿兔发动攻击,造成总伤害为它们攻击力之和。
  2. 阿兔选择一个最佳的目标进行攻击。若目标的血量被降低至 00 ,则该兔崽子被制服,不再参与后续攻击。
  3. 当所有兔崽子都被制服时,叛乱结束。

已知共有 nn 只兔崽子,每只兔崽子的初始血量为 hih_{i} 和攻击力为 aia_{i}(下标从 11 开始),若阿兔的攻击力为 kk。 你的任务是计算阿兔最少会受到多少总伤害,并将结果对 109+710^{9}+7 取模。

输入格式

第一行包含两个个正整数 n,k (1n2105,1k109)n,k \ (1\leq n \leq 2*10^{5},1\leq k \leq 10^{9}),分别表示兔崽子的数量和阿兔的攻击力。

接下来的 nn 行,每行包含两个正整数 hi,ai (1hi,ai109)h_{i},a_{i} \ (1\leq h_{i},a_{i} \leq 10^{9}),分别表示编号为 ii 的兔崽子的初始血量和攻击力。

输出格式

输出一个整数,表示阿兔在最佳攻击顺序下最少会受到的总伤害值,结果对 109+710^{9}+7 取模。

2 11
21 1
10 1000
1003

解释 #1

第一轮:

所有兔崽子的总攻击力为 10011001。 阿兔选择攻击 编号 22 的兔崽子,并成功将其制服(只需 11 轮攻击)。

阿兔受到的总伤害为 10011001

第二轮:

剩余兔崽子的总攻击力为 11(仅编号 11 的兔崽子未被制服)。

阿兔选择攻击 编号 11 的兔崽子,消耗一次攻击,该兔崽子剩余生命值为 1010

阿兔受到的额外伤害为 11

第三轮:

剩余兔崽子的总攻击力仍为 11

阿兔再次攻击 编号 11 的兔崽子,成功将其制服(最后一击)。

阿兔受到的额外伤害为 11

结束:

所有兔崽子被制服,叛乱结束。

此进攻顺序下,阿兔受到的伤害为 10031003 点,是最小的,可以证明这是最佳方案。