loj#P3060. 「ROI 2016 Day1」围攻堡垒

「ROI 2016 Day1」围攻堡垒

题目描述

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

墙有 nn 段,第 ii 段有 aia_i 人进攻,在第 ii 段上,一名防御者能击退 kik_i 名攻击者。若某段有 xix_i 人防守,进攻者不超过 xi×kix_i\times k_i 人,则此段不会被攻破;若进攻者超过 xi×kix_i\times k_i 人,则将有 aixi×kia_i-x_i\times k_i 人攻破该段。 请将 ss 名防御者分配到墙的各段上,使得攻破防守的攻击者尽可能少。

输入格式

第一行两个整数 n,sn,s
接下来 nn 行,每行两个整数,分别表示 ai,kia_i, k_i

输出格式

输出一行一个整数,表示在最优方案下攻破防守的攻击者数量。

1 10
8 1
0
3 3
4 2
1 1
10 8
3

数据范围与提示

对于所有数据,1n105,1 ⩽ n ⩽ 10^5, 1s109,1 ⩽ s ⩽ 10^9, 1ai109,1 ⩽ a_i ⩽ 10^9, 1ki109.1 ⩽ k_i ⩽ 10^9.

子任务 # 分值 1n1 ⩽ n ⩽ 1s1 ⩽ s ⩽ 1ai1 ⩽ a_i ⩽ kik_i 依赖子任务
1 17 100100 1000010000 100100 ki=1k_i = 1
2 21 1ki21 ⩽ k_i ⩽ 2 1
3 23 1ki1001 ⩽ k_i ⩽ 100 1, 2
4 39 10510^5 10910^9  10910^9  1ki1091 ⩽ k_i ⩽ 10^9 1 – 3