#include "bits/stdc++.h"
#include "fish.h"
// #include "grader.cpp"
using namespace std;
#define ll long long
ll max_weights(int n, int m, vector<int> x, vector<int> y, vector<int> w) {
vector <vector <ll>> a(n+2, vector <ll> (n+2, 0)), dp(n+2, vector <ll> (n+2, 0));
for(int i = 0; i < m; i++) {
a[x[i] + 1][y[i] + 1] = w[i];
}
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n; j++) {
a[i][j] += (!j ? 0 : a[i][j-1]);
}
}
vector <ll> b(n+1, 0);
for(int i = 1; i <= n; i++) {
for(int j = 0; j <= n; j++) {
for(int j1 = 0; j1 <= j; j1++) {
dp[i][j] = max(dp[i][j], a[i+1][j] + dp[i-1][j1] - a[i][j1] + a[i-1][j] - a[i-1][j1]);
}
for(int j1 = j; j1 < n; j1++) {
dp[i][j] = max(dp[i][j], a[i+1][j] + dp[i-1][j1] - a[i][j]);
}
dp[i][j] = max(dp[i][j], a[i+1][j] + a[i-1][j] + (i > 2 ? b[i-3] : 0));
b[i] = max(b[i], dp[i][j]);
}
b[i] = max(b[i], b[i-1]);
}
return b[n-1];
}
# | 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... |