题单练习 动态规划的优化

A7074 | Welcome24ever 和便当

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

有 $N$ 种便当,每种便当各有 $1$ 个在售。
对于 $i = 1,2,\dots,N$,第 $i$ 种便当中包含 $A_i$ 个章鱼烧和 $B_i$ 个鲷鱼烧。

Welcome24ever 希望吃到至少 $X$ 个章鱼烧,并且至少 $Y$ 个鲷鱼烧。

他可以从这 $N$ 种便当中选择若干个(每种最多选一次),请你判断是否存在一种选择方式,使得:

  • 所有选中便当中的章鱼烧总数不少于 $X$;
  • 所有选中便当中的鲷鱼烧总数不少于 $Y$。
如果存在,请你求出需要购买的便当最少数量;如果不存在,输出 $-1$。

输入格式

输入的第一行包含一个整数 $N$。

第二行包含两个整数 $X,Y$。

接下来的 $N$ 行中,第 $i$ 行包含两个整数 $A_i,B_i$,表示第 $i$ 种便当中章鱼烧和鲷鱼烧的数量。

输出格式

如果无法通过购买若干个便当获得至少 $X$ 个章鱼烧和至少 $Y$ 个鲷鱼烧,则输出 $-1$。
否则,输出一个整数,表示需要购买的便当的最小数量。

输入输出样例

输入 #1
3
5 6
2 1
3 4
2 3
输出 #1
2
输入 #2
3
8 8
3 4
2 3
2 1
输出 #2
-1
C++ 编辑器
输入
输出