# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
627690 |
2022-08-12T18:49:25 Z |
tutis |
Catfish Farm (IOI22_fish) |
C++17 |
|
1000 ms |
2097152 KB |
#include "fish.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y,
std::vector<int> W) {
vector<pair<int, ll>>P[N];
for (int i = 0; i < M; i++)
P[X[i]].push_back({Y[i], W[i]});
for (int i = 0; i < N; i++)
sort(P[i].begin(), P[i].end());
for (int i = 0; i < N; i++)
{
P[i].push_back({N, 0});
for (int j = 1; j < (int)P[i].size(); j++)
P[i][j].second += P[i][j - 1].second;
}
int ret = 0;
ll dp[N];
ll u[N][N];
ll d[N][N];
ll u1[N][N];
ll d1[N][N];
auto get = [&](int x, int y)->ll
{
if (x < 0 || x >= N)
return 0;
auto it = lower_bound(P[x].begin(), P[x].end(), make_pair(y + 1, -1ll));
if (it == P[x].begin())
return 0;
it--;
return it->second;
};
for (int x = 0; x < N; x++)
{
dp[x] = 0;
for (int y = 0; y < N; y++)
{
u[x][y] = d[x][y] = 0;
u1[x][y] = u[x][y] - get(x, y);
d1[x][y] = d[x][y] + get(x + 1, y);
}
ll sum = 0;
int i = 0;
if (x == 0)
continue;
for (int y = 0; y < N; y++)
{
u[x][y] = dp[x - 1];
u[x][y] = max(u[x][y], get(x - 1, y) + (x - 2 >= 0 ? dp[x - 2] : 0ll));
u[x][y] -= get(x - 1, y);
for (int y1 = 0; y1 <= y; y1++)
u[x][y] = max(u[x][y], u1[x - 1][y1]);
u[x][y] += get(x - 1, y);
}
for (int y = 0; y < N; y++)
u1[x][y] = u[x][y] - get(x, y);
d[x][N - 1] = u[x][N - 1];
for (int y = N - 1; y >= 0; y--)
{
d[x][y] += get(x, y);
for (int y1 = y; y1 < N; y1++)
d[x][y] = max(d[x][y], d1[x - 1][y1]);
d[x][y] -= get(x, y);
}
for (int y = N - 1; y >= 0; y--)
d1[x][y] = d[x][y] + get(x + 1, y);
dp[x] = dp[x - 1];
for (int y = 0; y < N; y++)
{
dp[x] = max(dp[x], get(x, y) + u[x - 1][y]);
dp[x] = max(dp[x], get(x, y) + d[x - 1][y]);
dp[x] = max(dp[x], u[x][y]);
dp[x] = max(dp[x], d[x][y]);
}
}
return dp[N - 1];
}
Compilation message
fish.cpp: In function 'long long int max_weights(int, int, std::vector<int>, std::vector<int>, std::vector<int>)':
fish.cpp:44:12: warning: unused variable 'sum' [-Wunused-variable]
44 | ll sum = 0;
| ^~~
fish.cpp:45:13: warning: unused variable 'i' [-Wunused-variable]
45 | int i = 0;
| ^
fish.cpp:19:9: warning: unused variable 'ret' [-Wunused-variable]
19 | int ret = 0;
| ^~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
822 ms |
2097152 KB |
Execution killed with signal 9 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Runtime error |
823 ms |
2097152 KB |
Execution killed with signal 9 |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
773 ms |
2097152 KB |
Execution killed with signal 9 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 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 |
212 KB |
Output is correct |
7 |
Correct |
0 ms |
212 KB |
Output is correct |
8 |
Correct |
1 ms |
296 KB |
Output is correct |
9 |
Correct |
6 ms |
1064 KB |
Output is correct |
10 |
Correct |
34 ms |
3284 KB |
Output is correct |
11 |
Correct |
7 ms |
1072 KB |
Output is correct |
12 |
Correct |
35 ms |
3100 KB |
Output is correct |
13 |
Correct |
1 ms |
432 KB |
Output is correct |
14 |
Correct |
34 ms |
3172 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 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 |
212 KB |
Output is correct |
7 |
Correct |
0 ms |
212 KB |
Output is correct |
8 |
Correct |
1 ms |
296 KB |
Output is correct |
9 |
Correct |
6 ms |
1064 KB |
Output is correct |
10 |
Correct |
34 ms |
3284 KB |
Output is correct |
11 |
Correct |
7 ms |
1072 KB |
Output is correct |
12 |
Correct |
35 ms |
3100 KB |
Output is correct |
13 |
Correct |
1 ms |
432 KB |
Output is correct |
14 |
Correct |
34 ms |
3172 KB |
Output is correct |
15 |
Correct |
34 ms |
3136 KB |
Output is correct |
16 |
Correct |
3 ms |
632 KB |
Output is correct |
17 |
Correct |
78 ms |
5728 KB |
Output is correct |
18 |
Correct |
71 ms |
6340 KB |
Output is correct |
19 |
Correct |
65 ms |
6192 KB |
Output is correct |
20 |
Correct |
72 ms |
6092 KB |
Output is correct |
21 |
Correct |
69 ms |
6168 KB |
Output is correct |
22 |
Correct |
102 ms |
9020 KB |
Output is correct |
23 |
Correct |
55 ms |
3728 KB |
Output is correct |
24 |
Correct |
71 ms |
4900 KB |
Output is correct |
25 |
Correct |
38 ms |
3188 KB |
Output is correct |
26 |
Correct |
43 ms |
3668 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 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 |
212 KB |
Output is correct |
7 |
Correct |
0 ms |
212 KB |
Output is correct |
8 |
Correct |
1 ms |
296 KB |
Output is correct |
9 |
Correct |
6 ms |
1064 KB |
Output is correct |
10 |
Correct |
34 ms |
3284 KB |
Output is correct |
11 |
Correct |
7 ms |
1072 KB |
Output is correct |
12 |
Correct |
35 ms |
3100 KB |
Output is correct |
13 |
Correct |
1 ms |
432 KB |
Output is correct |
14 |
Correct |
34 ms |
3172 KB |
Output is correct |
15 |
Correct |
34 ms |
3136 KB |
Output is correct |
16 |
Correct |
3 ms |
632 KB |
Output is correct |
17 |
Correct |
78 ms |
5728 KB |
Output is correct |
18 |
Correct |
71 ms |
6340 KB |
Output is correct |
19 |
Correct |
65 ms |
6192 KB |
Output is correct |
20 |
Correct |
72 ms |
6092 KB |
Output is correct |
21 |
Correct |
69 ms |
6168 KB |
Output is correct |
22 |
Correct |
102 ms |
9020 KB |
Output is correct |
23 |
Correct |
55 ms |
3728 KB |
Output is correct |
24 |
Correct |
71 ms |
4900 KB |
Output is correct |
25 |
Correct |
38 ms |
3188 KB |
Output is correct |
26 |
Correct |
43 ms |
3668 KB |
Output is correct |
27 |
Execution timed out |
1102 ms |
282440 KB |
Time limit exceeded |
28 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
773 ms |
2097152 KB |
Execution killed with signal 9 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
822 ms |
2097152 KB |
Execution killed with signal 9 |
2 |
Halted |
0 ms |
0 KB |
- |