Skip to content

Commit d657322

Browse files
committed
Runtime: 392 ms (Top 5.27%) | Memory: 19.5 MB (Top 5.07%)
1 parent 0726ae9 commit d657322

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,35 @@
1+
// Runtime: 392 ms (Top 5.27%) | Memory: 19.5 MB (Top 5.07%)
12
class Solution {
23
public:
3-
4+
45
int get_max(vector<int>&arr , int s , int e ){
56
int mx_val = *max_element(arr.begin() + s , arr.begin() + e + 1);
67
return (e-s + 1 )* mx_val ;
78
}
8-
9+
910
int solve( vector<int>&arr , int idx , int k , vector<vector<int>>&dp){
10-
11-
11+
1212
if(idx >= arr.size() ) return 0;
13-
13+
1414
if(dp[idx][k] != -1 )
1515
return dp[idx][k];
16-
16+
1717
int ans = 0;
18-
19-
for(int i = 0 ; i<k ; ++i ){
20-
if((idx + i ) > arr.size() - 1)
18+
19+
for(int i = 0 ; i<k ; ++i ){
20+
if((idx + i ) > arr.size() - 1)
2121
break;
22-
22+
2323
int val = get_max(arr , idx , idx + i ) + solve( arr , idx + i + 1 , k , dp );
2424
ans = max( ans , val );
2525
}
2626
return dp[idx][k] = ans ;
27-
27+
2828
}
29-
29+
3030
int maxSumAfterPartitioning(vector<int>& arr, int k) {
31-
vector<vector<int>>dp(arr.size()+1 , vector<int>( k + 1 , -1 ));
32-
33-
return solve( arr , 0 , k , dp );
31+
vector<vector<int>>dp(arr.size()+1 , vector<int>( k + 1 , -1 ));
32+
33+
return solve( arr , 0 , k , dp );
3434
}
35-
};
35+
};

0 commit comments

Comments
 (0)