Guest User

Untitled

a guest
Sep 2nd, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.71 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <algorithm>
  4.  
  5. int N;
  6. int V, low=5000, ans=0, menu[5000];
  7.  
  8. void run(int coins, int mask)
  9. {
  10.     if(coins < 0) return;
  11.  
  12.     if(coins < low)
  13.     {
  14.         low = coins;
  15.         ans = mask;
  16.     }
  17.  
  18.     for(int i=0; i<N; i++)
  19.     {
  20.         if(!(mask & (1 << i)))
  21.             run(coins-menu[i], mask | (1 << i));
  22.     }
  23.  
  24. }
  25.  
  26. int main()
  27. {
  28.     freopen("input.txt","r",stdin);
  29.     freopen("output.txt","w",stdout);
  30.  
  31.     std::cin >> N >> V;
  32.  
  33.     for(int i=0; i<N; i++)
  34.         std::cin >> menu[i];
  35.  
  36.     run(V, 0);
  37.  
  38.     for(int i=0; i<N; i++)
  39.     {
  40.         if(ans & (1 << i))
  41.             std::cout << menu[i] << "\n";
  42.     }
  43.  
  44.     return 0;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment