Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int find_max_element(vector<int> array) {
- int n = array.size();
- int k = array[0];
- vector<vector<int>> dp(n + 1, vector<int>(k + 1, - n - 5));
- dp[n][k] = 0;
- for(int i = n - 1; i >= 1; i--) {
- for(int j = 0; j <= k; j++) {
- dp[i][j] = dp[i + 1][j];
- if(array[i] + j <= k) {
- dp[i][j] = max(dp[i + 1][j + array[i]] + 1, dp[i][j]);
- }
- }
- }
- return dp[1][0];
- // cout << dp[1][0] << endl;
- }
- int main()
- {
- int n;
- cin >> n;
- vector<int> array(n);
- for(int i = 0; i < n; i++) {
- cin >> array[i];
- }
- cout << find_max_element(array) << endl;;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment