logo AlgoBeat OnlineJudge
登录 注册

#214340. [ROI 2016 Day1] 要塞防御

内存限制:512 MiB 时间限制:2000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

译自 ROI 2016 Day1 T1. Оборона крепости


被围困的要塞之墙由 个防御段组成,这些防御段从 编号。侦察报告称,在下一次进攻中,敌人将派出 名士兵进攻编号为 的防御段。要塞共有 名守卫,需要分配到这些防御段上。

不同的防御段加固程度不同,这导致了防守效率的差异。编号为 的防御段上,每一名守卫都能抵御 名进攻者。假设编号为 的防御段上派遣了 名守卫。那么,如果敌人的数量不超过 ,则该段防线将完全守住,不会有敌人突破;否则,将有 名敌人突破防线,攻入要塞。

你的任务是编写一个程序,合理分配守卫人数,使得总人数恰好为 ,并使得突破要塞的敌人数最少。

输入格式

输入的第一行包含两个整数 ,分别表示防御段的数量和要塞的守卫总数()。

接下来的 行中,每行包含两个整数 ,分别表示进攻编号为 的防御段的敌人总数,以及该段上每名守卫能够抵御的敌人数()。

输出格式

输出一个整数——即最少能突破要塞的敌人数。

样例

样例输入 1

1 10
8 1

样例输出 1

0

样例输入 2

3 3
4 2
1 1
10 8

样例输出 2

3

数据范围与提示

样例解释

在第一个测试中,如果将全部 名守卫派往唯一的防御段,他们可以击退所有 名敌人,因此不会有敌人突破防线。

在第二个测试中,一种可行的方案是将 名守卫派往第一个防御段,将 名守卫派往第三个防御段,这样可以使突破的敌人数量最小化。

数据范围

子任务编号 分值 必须通过的子任务
1 17
2 21 1
3 23 1, 2
4 39 1, 2, 3

翻译由 ChatGPT-5 完成