调代码
#include<bits/stdc++.h>
using namespace std;
long long n,m,a[100005],f[10000005];
int main()
{
int p=1,o,u;
scanf("%lld%lld",&n,&m);
for(int i=1;i<=n;i++)
{
scanf("%lld%lld",&o,&u);
int c=1;
while(u>c)
{
u-=c;
a[p]=o*c;
c*=2;
p++;
}
a[p]=u*o;
p++;
}
f[0]=1;
for(long long i=1;i<=p;i++)
{
for(long long j=500000;j>=a[i];j--)
{
if(f[j-a[i]]==1) f[j]=1;
}
}
long long h;
for(long long i=1;i<=m;i++)
{
scanf("%lld",&h);
if(f[h]==1) printf("Yes\n");
else printf("No\n");
}
}