#include "fish.h"
#include <bits/stdc++.h>
using namespace std;
long long dp[(int) 1e5 + 100][2]; // 0 -> block, 1 -> take the single , 2 -> take two
long long max_weights(int N, int M, vector<int> X, vector<int> Y, vector<int> W) {
map<int, long long> mp;
long long ans = 0;
for(int i = 0; i < M; ++i){
mp[X[i] + 1] += W[i];
}
dp[2][0] = mp[1];
for(int i = 1; i <= N; ++i){
if(i >= 2) dp[i][1] = dp[i - 1][0] + mp[i];
dp[i][0] = max(dp[i - 1][1], dp[i - 1][0]);
if(i >= 3) dp[i][0] = max(dp[i][0], dp[i - 3][0] + mp[i - 1] + mp[i]);
ans = max(ans, dp[i][0]);
ans = max(ans, dp[i][1]);
}
return ans;
}
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |