Skip to content

Commit b2db915

Browse files
authored
Create 2218.Maximum-Value-of-K-Coins-From-Piles.cpp
1 parent ecb8afc commit b2db915

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
class Solution {
2+
int dp[1002][2002];
3+
public:
4+
int maxValueOfCoins(vector<vector<int>>& piles, int k)
5+
{
6+
int n = piles.size();
7+
vector<vector<int>>presum(n);
8+
for (int i=0; i<n; i++)
9+
{
10+
int sum = 0;
11+
presum[i].push_back(sum);
12+
for (int j=0; j<piles[i].size(); j++)
13+
{
14+
sum += piles[i][j];
15+
presum[i].push_back(sum);
16+
}
17+
}
18+
19+
int ret = 0;
20+
for (int i=0; i<n; i++)
21+
for (int j=0; j<=k; j++)
22+
{
23+
for (int t = 0; t<=min(j, (int)piles[i].size()); t++)
24+
dp[i][j] = max(dp[i][j], (i==0?0:dp[i-1][j-t]) + presum[i][t]);
25+
26+
if (i==n-1)
27+
ret = max(ret, dp[i][j]);
28+
}
29+
30+
return ret;
31+
}
32+
};

0 commit comments

Comments
 (0)