Maximum Number of Points with Cost LeetCode solution in C++

1
class Solution {
2
public:
3
long long maxPoints(vector<vector<int>> &points) {
4
vector<vector<long long>> dp(points.size(), vector<long long>(points[0].size(), -1));
5

6
for (int i = 0; i < points[0].size(); ++i) {
7
dp[0][i] = points[0][i];
8
}
9

10
for (int i = 1; i < points.size(); ++i) {
11
for (int j = 0; j < points[i].size(); ++j) {
12
for (int k = 0; k < points[i].size(); ++k) {
13
dp[i][j] = max(dp[i][j], dp[i - 1][k] - abs(k - j) + points[i][j]);
14
}
15
}
16
}
17

18
long long max_ans = -1;
19
for (const auto v : dp.back()) {
20
max_ans = max(max_ans, v);
21
}
22

23
return max_ans;
24
}
25
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0