SZ#G6KP12. 【GESP强化 六级】手中的钱

提交1 通过1
通过率100%
时间限制2000ms
内存限制256MiB
    ID: 11556 传统题 2000ms 256MiB 尝试: 1 已通过: 1 难度: 入门 上传者: 标签>GESPGESP强化C++c++编程题背包问题有数量背包可达性1星

题目描述

高桥君有 NN 种不同面额的硬币,每种硬币他各有若干枚。具体来说,对于 1iN1\leq i\leq N,他有 AiA_i 日元面额的硬币 BiB_i 枚。

请判断高桥君能否用手头的硬币(且不能找零)恰好支付 XX 日元。

输入格式

输入以如下格式从标准输入读入。

NN XX
A1A_1 B1B_1
A2A_2 B2B_2
\vdots
ANA_N BNB_N

输出格式

如果高桥君能用现有的硬币恰好支付 XX 日元,则输出 Yes;否则输出 No

2 19
2 3
5 6
Yes
2 18
2 3
5 6
No
3 1001
1 1
2 1
100 10
Yes

说明/提示

限制条件

  • 1N501\leq N\leq 50
  • 1X1041\leq X\leq 10^4
  • 1Ai1001\leq A_i\leq 100
  • 1Bi501\leq B_i\leq 50
  • 所有 AiA_i 互不相同。
  • 输入均为整数。

样例解释 1

高桥君有 22 日元硬币 33 枚,55 日元硬币 66 枚。可以用 22 日元硬币 22 枚和 55 日元硬币 33 枚,恰好支付 2×2+5×3=192\times 2+5\times 3=19 日元。因此输出 Yes

样例解释 2

无论如何组合手头的硬币,都无法恰好支付 1818 日元。因此输出 No