top1编程
← 返回上一页

P4905. 买表

时间限制
1000 ms
内存限制
128 MiB
难度
-
知识点
童程童美
知识点
DP(背包问题)

题目描述

吉米到手表店买手表,吉米只带了 n 种钱币,第 i 种钱币的面额为 v~i~​ 元,张数为 s~i~​ 张。店里一共有 m 块手表,第 i 块手表的价格为 t~i~​ 元。 手表店不能找零,所以吉米只能在凑出恰好的钱数时才能购买一块手表。现在对于店里的每块手表,吉米想知道他能不能凑出恰好的钱数进行购买。

输入格式

第一行两个空格分隔的整数 n 和 m 表示钱币种类与手表数( 1≤n≤200,1≤m≤10^5^ )。 接下来n行每行两个空格分隔的整数v~i~​和s~i~​表示钱币的面额和张数(1≤v~i~​≤5×10^5^, n≤∑s~i~​≤10^4^ )。 第 n+2 行,共 m 个用空格分隔的整数 t~i~​,表示每块手表的价格( 0≤t~i~​≤5×10^5^ )。

输出格式

一共 m 行,对于第 i 行,如果能凑出恰好的钱数购买第 i 块手表则输出 Yes 否则输出 No,注意只有首字母大写。

3 4 
1 1
5 7
6 3 
3 1 12 7
No 
Yes 
Yes
Yes