sacgajcvs

Untitled

Feb 16th, 2023
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int find_max_element(vector<int> array) {
  5. int n = array.size();
  6. int k = array[0];
  7. vector<vector<int>> dp(n + 1, vector<int>(k + 1, - n - 5));
  8. dp[n][k] = 0;
  9. for(int i = n - 1; i >= 1; i--) {
  10. for(int j = 0; j <= k; j++) {
  11. dp[i][j] = dp[i + 1][j];
  12. if(array[i] + j <= k) {
  13. dp[i][j] = max(dp[i + 1][j + array[i]] + 1, dp[i][j]);
  14. }
  15. }
  16. }
  17. return dp[1][0];
  18. // cout << dp[1][0] << endl;
  19. }
  20.  
  21. int main()
  22. {
  23. int n;
  24. cin >> n;
  25. vector<int> array(n);
  26. for(int i = 0; i < n; i++) {
  27. cin >> array[i];
  28. }
  29. cout << find_max_element(array) << endl;;
  30. return 0;
  31. }
Advertisement
Add Comment
Please, Sign In to add comment