Skip to content

Commit b01e676

Browse files
authored
Create 2140.Solving-Questions-With-Brainpower_v3.cpp
1 parent eba99f2 commit b01e676

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
using LL = long long;
2+
class Solution {
3+
public:
4+
long long mostPoints(vector<vector<int>>& questions) {
5+
int n = questions.size();
6+
vector<vector<LL>> dp(n, vector<LL>(2));
7+
dp[0][1] = questions[0][0];
8+
9+
vector<LL>base(n);
10+
LL diff = 0;
11+
12+
LL maxPre = 0;
13+
for (int i = 0; i < n; ++i)
14+
{
15+
diff = max(diff, base[i]);
16+
dp[i][1] = diff + questions[i][0];
17+
18+
int skip = questions[i][1];
19+
if (i+1<n)
20+
dp[i+1][0] = max(dp[i+1][0], max(dp[i][0], dp[i][1]));
21+
if (i+skip+1<n)
22+
base[i+skip+1] = max(base[i+skip+1], dp[i][1]);
23+
}
24+
25+
return max(dp[n-1][0], dp[n-1][1]);
26+
}
27+
};

0 commit comments

Comments
 (0)