#include <bits/stdc++.h>
#include "fish.h"
using namespace std;
using ll = long long;
using pii = pair<int, int>;
template <typename T>
using v = vector<T>;
#define rep(i, k, n) for (int i = k; i < n; i++)
ll max_weights(int N, int M, v<int> X, v<int> Y, v<int> W) {
v<ll> a(N, 0);
rep(i, 0, M) {
a[X[i]] += W[i];
}
ll dp[N][2][2];
rep(i, 0, 2) {
rep(j, 0, 2) {
dp[0][i][j] = 0;
dp[1][i][j] = 0;
}
}
rep(i, 2, N) {
dp[i][0][0] = max(dp[i-1][0][0], dp[i-1][0][1]);
dp[i][1][0] = max(dp[i-1][0][0], dp[i-1][0][1]) + (i == 2 ? a[i-2] : 0) + (i == N-1 ? a[N-1] : 0);
dp[i][0][1] = max(dp[i-1][1][0], dp[i-1][1][1]) + a[i-1];
dp[i][1][1] = max(dp[i-1][1][1], dp[i-1][1][0]) + (i == N-1 ? a[N-1] : 0);
}
ll mx = 0;
rep(i, 0, 2) rep(j, 0, 2) mx = max(mx, dp[N-1][i][j]);
return mx;
}
# | 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... |