Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define check(n, pos) (n & (1<<(pos)))
- using namespace std;
- int subset[22];
- int main()
- {
- int test,n,p,i,j,sum;
- scanf("%d",&test);
- while(test--)
- {
- scanf("%d",&n);
- scanf("%d",&p);
- for(i=0; i<p; i++)
- {
- scanf("%d",&subset[i]);
- }
- bool tag = false;
- for(i=0; i<(1<<p); i++)
- {
- sum = 0;
- for(j=0; j<p; j++)
- {
- if(check(i,j))
- {
- sum+=subset[j];
- }
- }
- if(sum==n)
- {
- tag = true;
- printf("YES\n");
- break;
- }
- }
- if(!tag)
- {
- printf("NO\n");
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement