Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.62 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. vector <int> polje;
  5. int T , n , k , a , mini=10000;
  6. void rek(int x ,int sum , int prov , int broj){
  7. if (x>=n) return;
  8. if (prov && sum<k){
  9. sum+=polje[x];
  10. broj++;
  11. }
  12. if (sum==k && broj<mini) mini=broj;
  13. rek(x+1,sum,0,broj);
  14. rek(x+1,sum,1,broj);
  15. }
  16.  
  17. int main(){
  18. ios::sync_with_stdio(false);
  19. cin.tie(0);cout.tie(0);
  20. cin>>T;
  21. for (int i=0;i<T;i++){
  22. mini=10000;
  23. cin>>n>>k;
  24. for (int j=0;j<n;j++){
  25. cin>>a;
  26. polje.push_back(a);
  27. }
  28. rek(0,0,0,0);
  29. rek(0,0,1,0);
  30. if (mini==10000) cout<<"impossible \n";
  31. else cout<<mini<<'\n';
  32. }
  33. return 0;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement