CF1217B Zmei Gorynich

题目描述

你正在与 Zmei Gorynich 战斗——这是斯拉夫神话中的一只凶猛怪兽,一条拥有多颗头颅的巨型龙! ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1217B/7c3f181294cd1faa21453100051e900a119a772c.png) 最初,Zmei Gorynich 有 $x$ 个头。你可以使用 $n$ 种不同类型的攻击。如果你使用第 $i$ 种攻击,会使 Gorynich 的头数减少 $min(d_i, curX)$,其中 $curX$ 表示当前的头数。但如果这次攻击后 Zmei Gorynich 仍然至少有一个头,他会再长出 $h_i$ 个新头。如果 $curX = 0$,那么 Gorynich 就被击败了。 你可以以任意顺序、任意次数使用每种攻击。 例如,如果 $curX = 10$,$d = 7$,$h = 10$,那么头数会变为 $13$(你砍下 $7$ 个头,但 Zmei 又长出 $10$ 个新头);但如果 $curX = 10$,$d = 11$,$h = 100$,那么头数会变为 $0$,Zmei Gorynich 被击败。 请计算击败 Zmei Gorynich 所需的最少攻击次数! 你需要回答 $t$ 个独立的询问。

输入格式

第一行包含一个整数 $t$($1 \le t \le 100$),表示询问的数量。 每个询问的第一行包含两个整数 $n$ 和 $x$($1 \le n \le 100$,$1 \le x \le 10^9$),分别表示可用攻击类型数和 Zmei 最初的头数。 接下来的 $n$ 行,每行包含两个整数 $d_i$ 和 $h_i$($1 \le d_i, h_i \le 10^9$),表示第 $i$ 种攻击的描述。

输出格式

对于每个询问,输出击败 Zmei Gorynich 所需的最少攻击次数。 如果无法击败 Zmei Gorynich,输出 $-1$。

说明/提示

在第一个询问中,你可以先使用第一种攻击(此时头数变为 $10 - 6 + 3 = 7$),然后再使用第二种攻击。 在第二个询问中,你只需连续使用第一种攻击三次,Zmei 就会被击败。 在第三个询问中,你无法击败 Zmei Gorynich。也许劝他停止战斗会更好? 由 ChatGPT 4.1 翻译