问题2886--买表(NOI Online3 lfw数据)

2886: 买表(NOI Online3 lfw数据)

时间限制: 1 Sec  内存限制: 128 MB
提交: 34  解决: 23
[提交] [状态] [讨论版] [命题人:]

题目描述

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

输入

第一行两个空格分隔的整数 n 和 m 表示钱币数与手表数。
接下来 n 行每行两个空格分隔的整数 ki和ai表示钱币的面额和张数。
第 n+2行,共 m 个用空格分隔的整数ti,表示每块手表的价格。(数据中也有接下来m行的情况,即不是空格分割,而是回车,用scanf和cin输入不影响)

输出

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

样例输入 Copy

3 5
1 2
5 1
6 3
3 19 21 1 7

样例输出 Copy

No
Yes
No
Yes
Yes

提示

样例 1 解释
第二块手表 19=6×3+1=6×2+5+1×2,可以恰好凑出。
第四块手表 1=1×1,可以恰好凑出。
第五块手表 7=5+2×1=6×1+1,可以恰好凑出。
对于50%的数据, n<=10, m<=60, ai<=20, ki<=5000, ti<=250
对于100%的数据, 1<=n<=200, 1<=m<=10^5, 1<=ai<=1000, 1<=ki<=500000, 0<=ti<=500000

来源/分类