fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. const auto next_int = []() { int num; cin >> num; return num; };
  6. auto n = next_int(), x = next_int(), inf = x+1;
  7. vector<int> min_coins(inf,inf);
  8. for (min_coins[0] = 0; n > 0; --n)
  9. for (auto c = next_int(), y = c; y <= x; ++y)
  10. min_coins[y] = min(min_coins[y],min_coins[y-c]+1);
  11. cout << (min_coins[x] == inf ? -1: min_coins[x]);
  12. return 0; }
  13.  
Success #stdin #stdout 0.01s 5408KB
stdin
3 11
1 2 7
stdout
3