fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. cin.tie(NULL);
  8. ios_base::sync_with_stdio(false);
  9. int n, k, *val, *total;
  10. cin >> n >> k;
  11. total = new int[k];
  12. for (int i = 0; i < k; i++)
  13. total[i] = 0;
  14. val = new int[n];
  15. for (int i = 0; i < n; i++)
  16. {
  17. cin >> val[i];
  18. total[val[i] - 1] = 1;
  19. }
  20. for (int i = 0; i < k; i++)
  21. {
  22. if (!total[i])
  23. {
  24. int min = 1000000;
  25. for (int j = 0; j < n; j++)
  26. {
  27. if (val[j] <= i && total[i - val[j]] < min)
  28. min = total[i - val[j]];
  29. if (min == 1)
  30. break;
  31. }
  32. total[i] = min + 1;
  33. }
  34. }
  35. if (total[k - 1] > 1000000)
  36. cout << -1;
  37. else
  38. cout << total[k - 1];
  39. }
Success #stdin #stdout 0s 15232KB
stdin
4 15
1
5
12
100
stdout
3