比赛场次 583
比赛名称 2020级再出发之二进制拆分及运用
比赛状态 已结束比赛成绩
开始时间 2023-07-24 10:00:00
结束时间 2023-07-24 17:00:00
开放分组 全部用户
注释介绍
题目名称 买表(民间数据)
输入输出 noi_online2020_watch.in/out
时间限制 2000 ms (2 s)
内存限制 128 MiB
测试点数 10 简单对比
用户 结果 时间 内存 得分

买表(民间数据)

★★★   输入文件:noi_online2020_watch.in   输出文件:noi_online2020_watch.out   简单对比
时间限制:2 s   内存限制:128 MiB

【题目描述】

$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

【样例解释】

- 第二块手表 $19=6 \times 3+1=6 \times 2+5+1 \times 2$,可以恰好凑出。

- 第四块手表 $1=1 \times 1$,可以恰好凑出。

- 第五块手表 $7=5+2\times 1=6 \times 1+1$,可以恰好凑出。

【数据规模与约定】

对于 $50\%$ 的数据,保证 $n\leq 10$,$m \leq 60$,$a_i \leq 20$,$k_i \leq 5000$,$t_i \leq 250$。

对于 $100\%$ 的数据,保证 $1 \leq n \leq 200$,$1 \leq m \leq 10^5$,$1 \leq a_i \leq 1000$,$1 \leq k_i \leq 500000$,$0 \leq t_i \leq 500000$。

【来源】

$NOI$ $Online2020$ $入门组$ $第三轮$ $Task$ $3$