#MC1014. 勇斗监守者

勇斗监守者

题目背景

史蒂夫准备好装备,就去远古城市制裁监守者了。

题目描述

众所周知,监守者血量很厚,拥有 500500 点生命值。

史蒂夫现在拥有 nn 种不同的攻击手段,每种攻击手段有自己的伤害值和使用次数限制。第 ii 种攻击手段的伤害值为 did_i,可使用次数为 uiu_i

史蒂夫在战斗中可以自由选择使用哪种攻击手段,但要注意每种攻击手段的使用次数。一旦监守者的生命值被削减至 00 及以下,史蒂夫即获得胜利。

请你计算以史蒂夫现在的攻击手段是否能够击败监守者,如果可以,求出最少需要使用多少次攻击手段;如果不能,则输出 -1

输入格式

第一行包含一个整数 nn,表示史蒂夫拥有的攻击手段的种类数。
接下来 nn 行,每行包含两个整数 did_i 和 uiu_i,分别表示第 ii 种攻击手段的伤害值和可使用次数。

输出格式

输出一个整数,表示史蒂夫击败监守者最少需要使用攻击手段的次数。如果无法击败监守者,输出 -1

输入输出样例

3
100 3
200 2
50 5
3
3
30 1
8 5
60 3
-1

说明 / 提示

样例解释 1

史蒂夫可以选择使用两次伤害值为 200200 的攻击手段,200×2=400200×2=400,再使用一次伤害值为 100100 的攻击手段,刚好可以击败监守者,总共使用 2+1=32+1=3 次攻击手段。

数据范围与约定

对于 100%100\% 的数据,1n1000,1di,ui1001 \le n \le 1000,1 \le d_i,u_i \le 100

该题目为自由刷题题库复制,原题为MC1212