#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];
}
for(int i = 1; i <= N; ++i){
dp[i][1] = max(dp[i][1], dp[i - 1][0] + mp[i]);
if(i >= 2){
dp[i][1] = max(dp[i][1], dp[i - 2][0] + mp[i] + mp[i - 1]);
}
dp[i][0] = max(dp[i - 1][1], dp[i - 1][0]);
ans = max(ans, max(dp[i][0], (dp[i - 1][0] + mp[i]) * (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... |