#include<bits/stdc++.h> using namespace std; int v[10005],dp[500001],n,m,k=0; int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ int v1,s; cin>>v1>>s; for(int j=1;j<=s;j*=2){ v[++k]=v1j; s-=j; } if(s){ v[++k]=v1s; } } dp[0]=1; for(int i=1;i<=k;i++){ for(int j=500000;j>=v[i];j--){ if(dp[j-v[i]]) dp[j]=1; } } for(int i=1;i<=m;i++){ int t; cin>>t; if(dp[t]) cout<<"Yes"<<endl; else cout<<"No"<<endl; } return 0; }

1 条评论

  • 1

信息

ID
2526
时间
ms
内存
MiB
难度
4
标签
递交数
15
已通过
9
上传者