#1165. 贝贝的守护行动

贝贝的守护行动

题目背景

海曙区“呦呦海贝”月赛即将开始,贝贝先在“海贝城堡”小游戏中热了热身。这一次,他需要合理安排守卫,守护城堡的每一段防线。

题目描述

城堡共有 nn 段防线,第 ii 段防线将受到 aia_i 只小怪的进攻。在这一段防线上,每名守卫最多可以击退 kik_i 只小怪。

贝贝共有 ss 名守卫,需要把他们分配到各段防线上。每名守卫只能被分配到一段防线,每段防线可以分配任意多名守卫,也可以不分配守卫。

如果第 ii 段防线上安排了 xix_i 名守卫,那么:

  • 当 ai≤xi×kia_i\leq x_i\times k_i 时,没有小怪能突破这一段防线;
  • 当 ai>xi×kia_i>x_i\times k_i 时,会有 ai−xi×kia_i-x_i\times k_i 只小怪突破这一段防线。

请你帮助贝贝分配这 ss 名守卫,使突破防线的小怪总数尽可能少,并输出这个最小值。

输入格式

第一行包含两个整数 n,sn,s,分别表示防线的段数和守卫的总人数。

接下来 nn 行,第 ii 行包含两个整数 ai,kia_i,k_i,分别表示进攻第 ii 段防线的小怪数量,以及每名守卫在这一段防线上最多可以击退的小怪数量。

输出格式

输出一个整数,表示最优分配方案下,突破防线的小怪总数。

样例 1

1 10
8 1
0

样例 1 解释

把所有守卫安排在唯一的一段防线上,可以击退全部 88 只小怪,答案为 00。

样例 2

3 3
4 2
1 1
10 8
3

样例 2 解释

一种最优方案是第一段防线安排 22 名守卫,第三段防线安排 11 名守卫。三段防线分别有 0,1,20,1,2 只小怪突破,总数为 33。

样例 3

2 1
5 100
8 6
7

样例 3 解释

把唯一的守卫安排在第二段防线上,可以击退 66 只小怪,剩余 5+2=75+2=7 只。虽然第一段防线的 kik_i 更大,但那里只有 55 只小怪。

样例 4

2 2
9 5
6 6
4

样例 4 解释

在两段防线上各安排一名守卫,分别剩下 44 只和 00 只小怪,答案为 44。

样例 5

3 1
1000000000 1
1000000000 1
1000000000 1
2999999999

样例 5 解释

一共有 3×1093 \times 10^9 只小怪,唯一的守卫只能击退 11 只,因此答案为 29999999992999999999。

数据范围

对于所有测试数据,保证 1≤n≤1051\leq n\leq10^5,1≤s,ai,ki≤1091\leq s,a_i,k_i\leq10^9。

本题采用子任务计分。一个子任务内的全部测试点,以及它所依赖子任务的全部测试点均通过时,才能获得该子任务的分数。

子任务 分值 nn 上限 ss 上限 aia_i 上限 kik_i 限制 依赖子任务
11 1717 100100 1000010000 100100 ki=1k_i=1 无
22 2121 1≤ki≤21\leq k_i\leq2 11
33 2323 1≤ki≤1001\leq k_i\leq100 1,21,2
44 3939 10510^5 10910^9 1≤ki≤1091\leq k_i\leq10^9 1,2,31,2,3