fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. constexpr int MAXN = 1e3 + 7;
  5. int im[MAXN];
  6.  
  7. int main()
  8. {
  9. int n, k;
  10. cin >> n >> k;
  11. pair<int, int> monety[n];
  12. for(int i = 0; i < n; ++i)
  13. cin >> monety[i].second >> monety[i].first;
  14. for(int i = 0; i < n; ++i)
  15. {
  16. for(int j = k; j >= monety[i].first; --j)
  17. {
  18. if(im[j-monety[i].first])
  19. {
  20. im[j] = min(im[j], im[j-monety[i].first] + monety[i].second);
  21. if(im[j] == 0)
  22. im[j] = im[j-monety[i].first] + monety[i].second;
  23. }
  24. }
  25. im[monety[i].first] = monety[i].second;
  26. }
  27. if(im[k])
  28. cout << im[k];
  29. else
  30. cout << "NIE";
  31. }
Success #stdin #stdout 0.01s 5296KB
stdin
3 10
2 4
2 5
10 13
stdout
NIE