买表
题目描述
吉米到手表店买手表,吉米只带了 n 种钱币,第 i 种钱币的面额为 vi 元,张数为 si 张。店里一共有 m 块手表,第 i 块手表的价格为 ti 元。
手表店不能找零,所以吉米只能在凑出恰好的钱数时才能购买一块手表。现在对于店里的每块手表,吉米想知道他能不能凑出恰好的钱数进行购买。
输入格式
第一行两个空格分隔的整数 n 和 m 表示钱币种类与手表数(1≤n≤200,1≤m≤105)。
接下来 n 行每行两个空格分隔的整数 vi 和 si 表示钱币的面额和张数(1≤vi≤5×105,n≤∑si≤104)。
第 n+2 行,共 m 个用空格分隔的整数 ti,表示每块手表的价格(0≤ti≤5×105)。
输出格式
一共 m 行,对于第 i 行,如果能凑出恰好的钱数购买第 i 块手表则输出 Yes 否则输出 No,注意只有首字母大写。
样例输入 #1
3 4
1 1
5 7
6 3
3 1 12 7
样例输出 #1
No
Yes
Yes
Yes
数据范围
1≤n≤200,1≤m≤105,1≤vi≤5×105,n≤∑si≤104,0≤ti≤5×105。
知识点与难度
本题涉及的知识点从属于 GESP六级(DP(背包问题)),难度等级:⭐⭐⭐⭐⭐
测试点分布
| Subtask |
分值 |
测试点编号 |
说明 |
| 1 |
100 |
1 |
样例 |