AT_abc085_d [ABC085D] Katana Thrower

题目描述

当你正在散步时,突然出现了一只魔物。幸运的是,你手上有 $N$ 把刀,分别为刀 $1$、刀 $2$、$\dots$、刀 $N$,你可以以任意顺序进行以下两种攻击: - 挥动你拥有的任意一把刀。如果你挥动刀 $i$($1 \leq i \leq N$),魔物会受到 $a_i$ 点伤害。你可以多次挥动同一把刀。 - 投掷你拥有的任意一把刀。如果你投掷刀 $i$($1 \leq i \leq N$),魔物会受到 $b_i$ 点伤害,并且你会失去这把刀。也就是说,此后你不能再挥动或投掷这把刀。 当魔物受到的总伤害达到 $H$ 点或以上时,魔物会消失。请问,最少需要多少次攻击才能让魔物消失?

输入格式

输入以以下格式从标准输入读入: > $N$ $H$ > $a_1$ $b_1$ > $a_2$ $b_2$ > $\vdots$ > $a_N$ $b_N$

输出格式

输出使魔物消失所需的最小攻击次数。

说明/提示

## 限制条件 - $1 \leq N \leq 10^5$ - $1 \leq H \leq 10^9$ - $1 \leq a_i \leq b_i \leq 10^9$ - 所有输入均为整数。 ## 样例解释 1 你有 $1$ 把刀,挥动时造成 $3$ 点伤害,投掷时造成 $5$ 点伤害。你可以先挥动 $2$ 次再投掷一次,总共造成 $3 + 3 + 5 = 11$ 点伤害,用 $3$ 次攻击让魔物消失。 ## 样例解释 2 除了前一把刀外,你还有另一把刀,挥动时造成 $2$ 点伤害,投掷时造成 $6$ 点伤害。你可以将两把刀都投掷出去,造成 $5 + 6 = 11$ 点伤害,用 $2$ 次攻击让魔物消失。 由 ChatGPT 4.1 翻译