atcoder#ABC219D. [ABC219D] Strange Lunchbox

[ABC219D] Strange Lunchbox

题目描述

N N 種類の弁当が、それぞれ 1 1 個ずつ売られています。
i = 1, 2, , N i\ =\ 1,\ 2,\ \ldots,\ N について、i i 種類目の弁当には Ai A_i 個のたこ焼きと Bi B_i 個のたい焼きが入っています。

高橋君は、 X X 個以上のたこ焼きと Y Y 個以上のたい焼きを食べたいです。
高橋君がいくつかの弁当を選んで買うことで、 X X 個以上のたこ焼きと Y Y 個以上のたい焼きを手に入れることが可能かどうか判定して下さい。また、可能な場合はそのために高橋君が購入しなければならない弁当の個数の最小値を求めて下さい。

各種類の弁当は 1 1 個しか売られていないため、同じ種類の弁当を 2 2 個以上購入することは出来ないことに注意して下さい。

输入格式

入力は以下の形式で標準入力から与えられる。

N N X X Y Y A1 A_1 B1 B_1 A2 A_2 B2 B_2 \vdots AN A_N BN B_N

输出格式

高橋君が X X 個以上のたこ焼きと Y Y 個以上のたい焼きを手に入れることが不可能な場合は 1 -1 を出力し、 可能な場合はそのために高橋君が購入しなければならない弁当の個数の最小値を出力せよ。

题目大意

nn 份套餐,每份套餐都有两个价值 aia_ibib_i。我们称一个选择方法是合法的,仅当选择的所有套餐的 aix\sum a_i\ge xbiy\sum b_i\ge y,每份套餐只能选择一次。

输入第一行是一个整数 nn,第二行是两个整数 xxyy,接下来的 nn 行每行两个整数 aia_ibib_i

如果不存在合法的选择方法输出 -1,否则输出在所有合法的选择方案中最少需要购买的套餐份数。

输入中的所有数均为值在 [1,300][1,300] 之间的整数。

3
5 6
2 1
3 4
2 3
2
3
8 8
3 4
2 3
2 1
-1

提示

制約

  • 1  N  300 1\ \leq\ N\ \leq\ 300
  • 1  X, Y  300 1\ \leq\ X,\ Y\ \leq\ 300
  • 1  Ai, Bi  300 1\ \leq\ A_i,\ B_i\ \leq\ 300
  • 入力はすべて整数

Sample Explanation 1

高橋君は、5 5 個以上のたこ焼きと 6 6 個以上のたい焼きを食べたいです。 高橋君は 2 2 種類目の弁当と 3 3 種類目の弁当を買うことで、 たこ焼きを 3 + 2 = 5 3\ +\ 2\ =\ 5 個、たい焼きを 4 + 3 = 7 4\ +\ 3\ =\ 7 個手に入れることができます。

Sample Explanation 2

高橋君がたとえすべての弁当を買ったとしても、高橋君は 8 8 個以上のたこ焼きと 8 8 個以上のたい焼きを手に入れることが出来ません。 よって、1 -1 を出力します。