题目描述
Jimmy 到 Symbol 的手表店买手表,Jimmy 只带了 n 种钱币,第 i种钱币的面额为 k_i元,张数为 a_i张。Symbol 的店里一共有 m块手表,第 i块手表的价格为 t_i 元。
Symbol 的手表店不能找零,所以 Jimmy 只能在凑出恰好的钱数时才能购买一块手表。现在对于店里的每块手表,Jimmy 想知道他能不能凑出恰好的钱数进行购买。
输入
第一行两个空格分隔的整数 n和 m表示钱币数与手表数。
接下来 n行每行两个空格分隔的整数 k_i,a_i表示钱币的面额和张数。
第 n+2行,共 m个用空格分隔的整数 t_i,表示每块手表的价格。
输出
一共 m行,对于第 i行,如果能凑出恰好的钱数购买第 i块手表则输出"Yes"(不含引号,下同),否则输出"No",注意只有首字母大写。
样例输入
3 5
1 2
5 1
6 3
3 19 21 1 7
样例输出
No
Yes
No
Yes
Yes
数据范围限制
对于 50%的数据,n≤10,m≤60,a_i≤20,k_i≤5000,t_i≤250。
对于 100%的数据,1≤n≤200,1≤m≤10^5,1≤a_i≤1000,1≤k_i≤500000,0≤t_i≤500000。
提示
第二块手表 19=63+1=62+5+1*2,可以恰好凑出。
第四块手表 1=1*1,可以恰好凑出。
第五块手表 7=5+21=61+1,可以恰好凑出。
题解:
暴力50%(不过我50不是暴力,而是数据开小了):
把它当成一个无脑 的暴力01背包问题,把kik_iki个aia_iai<

最低0.47元/天 解锁文章
1557

被折叠的 条评论
为什么被折叠?



