Advertisement
Pabon_SEC

Bars

Apr 28th, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.85 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. #define check(n, pos) (n & (1<<(pos)))
  3.  
  4. using namespace std;
  5.  
  6. int subset[22];
  7.  
  8. int main()
  9. {
  10.     int test,n,p,i,j,sum;
  11.  
  12.     scanf("%d",&test);
  13.  
  14.     while(test--)
  15.     {
  16.         scanf("%d",&n);
  17.  
  18.         scanf("%d",&p);
  19.  
  20.         for(i=0; i<p; i++)
  21.         {
  22.             scanf("%d",&subset[i]);
  23.         }
  24.  
  25.         bool tag = false;
  26.  
  27.         for(i=0; i<(1<<p); i++)
  28.         {
  29.             sum = 0;
  30.  
  31.             for(j=0; j<p; j++)
  32.             {
  33.                 if(check(i,j))
  34.                 {
  35.                     sum+=subset[j];
  36.                 }
  37.             }
  38.  
  39.             if(sum==n)
  40.             {
  41.                 tag = true;
  42.  
  43.                 printf("YES\n");
  44.  
  45.                 break;
  46.             }
  47.         }
  48.  
  49.         if(!tag)
  50.         {
  51.             printf("NO\n");
  52.         }
  53.     }
  54.  
  55.     return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement