// https://static.oj.uz/problem/16d3e3748d52997353f58d61d6e89b4/statement/41e54ac7d5af210510f0e15513412d0b31cf8ee951506602d2b538eca57ecab0/statement_en.pdf
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
int n , k;
cin>>n>>k;
vector<int> a(n+1);
for(int i = 1 ; i <= n ; i++)cin>>a[i];
vector<vector<int>> dp(k + 1 , vector<int>(n + 1 , 0));
for(int i = 1 ; i<=k;i++){
// dp[i][0] = a[i];
for(int j = i ; j<=n;j++){
int masx = *max_element(dp[i-1].begin() , dp[i-1].begin()+j);
dp[i][j]= max(masx , dp[i][j-1])+a[j];
}
}
// for(int i = 0 ; i <= k ; i++){
// for(int j =0;j<=n;j++){
// cout<<dp[i][j]<<" ";
// }
// cout<<"\n";
// }
int masx = *max_element(dp[k].begin() , dp[k].end());
cout<<masx;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |