#include "fish.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double dd;
typedef pair<ll , ll> ii;
typedef tuple < ll, ll, ll > tp;
#define mem(a , b) memset(a, b ,sizeof(a))
const ll N = 3005;
ll dp[2][2][N], pref[2][2][N];
ll a[N][N]; ll n;
long long max_weights(int _n, int m, std::vector<int> X, std::vector<int> Y,
std::vector<int> W) {
n = _n;
mem(a, 0); mem(dp, 0); mem(pref, 0);
for(ll i = 0; i < m; i++){
a[X[i]][Y[i]] = W[i];
}
for(ll i = 0; i < n; i++){
for(ll j = 1; j <= n; j++){
a[i][j] += a[i][j - 1];
}
}
ll row = 0;
for(ll i = 0; i <= n; i++){
mem(dp[row], 0);
mem(pref[row], 0);
}
ll ans = 0;
for(ll i = 0; i < n; i++){
row ^= 1;
mem(dp[row], 0);
mem(pref[row], 0);
// 0 -> i-1 > i, i > i+1
// 1 -> i-1 < i, i < i+1
for(ll l = 0; l < 2; l++){
for(ll r = 0; r < 2; r++){
if(!l && r) continue;
for(ll j = 0; j < n; j++){
ll V = 0;
if(l == 0){
V = pref[1-row][l][j] - a[i][j];
}else{
V = pref[1-row][l][j] + (i > 0 ? a[i - 1][j] : 0);
}
if(r == 0){
V += a[i + 1][j];
}else{
V -= a[i][j];
}
dp[row][r][j] = max(dp[row][r][j], V);
ans = max(ans, V);
}
}
}
for(ll c = 0; c < 2; c++){
for(ll j = n - 1; j >= 0; j--){
pref[row][c][j] = max(pref[row][c][j + 1], dp[row][c][j]);
}
}
}
return ans;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
723 ms |
149356 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
28 ms |
71220 KB |
1st lines differ - on the 1st token, expected: '2', found: '1' |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
803 ms |
144084 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
27 ms |
71124 KB |
1st lines differ - on the 1st token, expected: '3', found: '2' |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
27 ms |
71124 KB |
1st lines differ - on the 1st token, expected: '3', found: '2' |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
27 ms |
71124 KB |
1st lines differ - on the 1st token, expected: '3', found: '2' |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
803 ms |
144084 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
723 ms |
149356 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |