#include "fish.h"
#include<bits/stdc++.h>
#include <vector>
using namespace std;
long long haha[5000][5000];
long long dp[3001][3001][3];
long long max_weights(int n, int m, std::vector<int> x, std::vector<int> y, std::vector<int> w) {
for(long long i = 0; i <= n; i++) {
for(long long j = 0; j <= n; j++) {
haha[i][j] = 0;
}
}
for(long long i = 0; i < m; i++) {
haha[x[i]][y[i]+1] = w[i];
}
for(long long i = 0; i < n; i++) {
for(long long j = 1; j <= n; j++) {
haha[i][j]+=haha[i][j-1];
}
}
for(long long i = 0; i <= n; i++) {
for(long long j = 0; j <= n; j++) {
dp[i][j][0] = 0;
dp[i][j][1] = 0;
dp[i][j][2] = 0;
}
}
for(int i = 0; i <= n; i++) {
dp[0][i][0] = haha[1][i];
}
long long ans = 0;
for(long long i = 1; i < n; i++) {
for(long long j = 0; j <= n; j++) {
for(long long k = 0; k <= n; k++) {
long long c = haha[i+1][k];
dp[i][k][0] = max(dp[i][k][0],dp[i-1][j][2]+c+max(0LL,haha[i-1][k]-haha[i-1][j]));
if(k >= j) {
dp[i][k][0] = max(dp[i][k][0],dp[i-1][j][0]+c-haha[i][j]+max(0LL,haha[i-1][k]-haha[i-1][j]));
}
else if(k == 0) {
dp[i][j][2] = max(dp[i][j][2],dp[i-1][j][0]);
dp[i][j][2] = max(dp[i][j][2],dp[i-1][j][1]);
}
else {
dp[i][k][1] = max(dp[i][k][1],dp[i-1][j][0]+c-haha[i][k]);
dp[i][k][1] = max(dp[i][k][1],dp[i-1][j][1]+c-haha[i][k]);
}
}
}
}
for(long long i = 0; i <= n; i++) {
ans = max(ans,dp[n-1][i][0]);
ans = max(ans,dp[n-1][i][1]);
ans = max(ans,dp[n-1][i][2]);
}
return ans;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
299 ms |
400972 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
340 KB |
Output is correct |
2 |
Runtime error |
320 ms |
404944 KB |
Execution killed with signal 11 |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
288 ms |
397168 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
340 KB |
Output is correct |
2 |
Correct |
0 ms |
340 KB |
Output is correct |
3 |
Correct |
0 ms |
212 KB |
Output is correct |
4 |
Correct |
0 ms |
212 KB |
Output is correct |
5 |
Correct |
0 ms |
212 KB |
Output is correct |
6 |
Correct |
0 ms |
340 KB |
Output is correct |
7 |
Correct |
0 ms |
340 KB |
Output is correct |
8 |
Correct |
0 ms |
340 KB |
Output is correct |
9 |
Correct |
9 ms |
2260 KB |
Output is correct |
10 |
Correct |
64 ms |
5616 KB |
Output is correct |
11 |
Correct |
9 ms |
2280 KB |
Output is correct |
12 |
Correct |
65 ms |
5632 KB |
Output is correct |
13 |
Correct |
2 ms |
1108 KB |
Output is correct |
14 |
Correct |
64 ms |
5588 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
340 KB |
Output is correct |
2 |
Correct |
0 ms |
340 KB |
Output is correct |
3 |
Correct |
0 ms |
212 KB |
Output is correct |
4 |
Correct |
0 ms |
212 KB |
Output is correct |
5 |
Correct |
0 ms |
212 KB |
Output is correct |
6 |
Correct |
0 ms |
340 KB |
Output is correct |
7 |
Correct |
0 ms |
340 KB |
Output is correct |
8 |
Correct |
0 ms |
340 KB |
Output is correct |
9 |
Correct |
9 ms |
2260 KB |
Output is correct |
10 |
Correct |
64 ms |
5616 KB |
Output is correct |
11 |
Correct |
9 ms |
2280 KB |
Output is correct |
12 |
Correct |
65 ms |
5632 KB |
Output is correct |
13 |
Correct |
2 ms |
1108 KB |
Output is correct |
14 |
Correct |
64 ms |
5588 KB |
Output is correct |
15 |
Correct |
66 ms |
5608 KB |
Output is correct |
16 |
Correct |
2 ms |
1108 KB |
Output is correct |
17 |
Correct |
74 ms |
7380 KB |
Output is correct |
18 |
Correct |
78 ms |
7428 KB |
Output is correct |
19 |
Correct |
76 ms |
7380 KB |
Output is correct |
20 |
Correct |
75 ms |
7428 KB |
Output is correct |
21 |
Correct |
76 ms |
7420 KB |
Output is correct |
22 |
Correct |
84 ms |
9244 KB |
Output is correct |
23 |
Correct |
66 ms |
5948 KB |
Output is correct |
24 |
Correct |
71 ms |
6716 KB |
Output is correct |
25 |
Correct |
64 ms |
5588 KB |
Output is correct |
26 |
Correct |
66 ms |
5952 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
340 KB |
Output is correct |
2 |
Correct |
0 ms |
340 KB |
Output is correct |
3 |
Correct |
0 ms |
212 KB |
Output is correct |
4 |
Correct |
0 ms |
212 KB |
Output is correct |
5 |
Correct |
0 ms |
212 KB |
Output is correct |
6 |
Correct |
0 ms |
340 KB |
Output is correct |
7 |
Correct |
0 ms |
340 KB |
Output is correct |
8 |
Correct |
0 ms |
340 KB |
Output is correct |
9 |
Correct |
9 ms |
2260 KB |
Output is correct |
10 |
Correct |
64 ms |
5616 KB |
Output is correct |
11 |
Correct |
9 ms |
2280 KB |
Output is correct |
12 |
Correct |
65 ms |
5632 KB |
Output is correct |
13 |
Correct |
2 ms |
1108 KB |
Output is correct |
14 |
Correct |
64 ms |
5588 KB |
Output is correct |
15 |
Correct |
66 ms |
5608 KB |
Output is correct |
16 |
Correct |
2 ms |
1108 KB |
Output is correct |
17 |
Correct |
74 ms |
7380 KB |
Output is correct |
18 |
Correct |
78 ms |
7428 KB |
Output is correct |
19 |
Correct |
76 ms |
7380 KB |
Output is correct |
20 |
Correct |
75 ms |
7428 KB |
Output is correct |
21 |
Correct |
76 ms |
7420 KB |
Output is correct |
22 |
Correct |
84 ms |
9244 KB |
Output is correct |
23 |
Correct |
66 ms |
5948 KB |
Output is correct |
24 |
Correct |
71 ms |
6716 KB |
Output is correct |
25 |
Correct |
64 ms |
5588 KB |
Output is correct |
26 |
Correct |
66 ms |
5952 KB |
Output is correct |
27 |
Execution timed out |
1072 ms |
294384 KB |
Time limit exceeded |
28 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
288 ms |
397168 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
299 ms |
400972 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |