# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
832277 | 2023-08-21T08:23:55 Z | TS_2392 | Sailing Race (CEOI12_race) | C++14 | 1027 ms | 5580 KB |
#include <bits/stdc++.h> using namespace std; #define fileIO(name) if(fopen(name".inp", "r")) {freopen(name".inp", "r", stdin); freopen(name".out", "w", stdout);} #define SPEED {ios_base :: sync_with_stdio(0); cin.tie(0); cout.tie(0);} template<class T1, class T2> bool minimize(T1 &a, T2 b){return a > b ? a = b, true : false;} template<class T1, class T2> bool maximize(T1 &a, T2 b){return a < b ? a = b, true : false;} const int N = 503; int n, type, res, nxt[N], prv[N]; int adj[N][N], dp1[N][N][2], dp2[N][N][2]; int main(){ SPEED; fileIO("text"); cin >> n >> type; for(int u = 1, v; u <= n; ++u){ while(cin >> v){ if(v == 0) break; else adj[u][v] = 1; } nxt[u] = u + 1; prv[u] = u - 1; } nxt[n] = 1; prv[1] = n; for(int len = 2; len < n; ++len){ for(int i = 1; i <= n; ++i){ int j = i + len - 1; if(j > n) j -= n; if(adj[i][j]) dp1[i][j][0] = 1; for(int k = nxt[i]; k != j; k = nxt[k]) if(adj[k][j] && dp1[i][k][0]){ maximize(dp1[i][j][0], dp1[i][k][0] + 1); } if(adj[j][i]) dp1[i][j][1] = 1; for(int k = prv[j]; k != i; k = prv[k]) if(adj[k][i] && dp1[k][j][1]){ maximize(dp1[i][j][1], dp1[k][j][1] + 1); } } } for(int len = 2; len < n; ++len){ for(int i = 1; i <= n; ++i){ int j = i + len - 1; if(j > n) j -= n; dp2[i][j][0] = dp2[i][prv[j]][0]; if(adj[i][j]) maximize(dp2[i][j][0], dp2[nxt[i]][j][1] + 1); for(int k = nxt[i]; k != j; k = nxt[k]) if(adj[k][j] && dp1[i][k][0]){ maximize(dp2[i][j][0], dp1[i][k][0] + 1 + dp2[nxt[k]][j][1]); } dp2[i][j][1] = dp2[nxt[i]][j][1]; if(adj[j][i]) maximize(dp2[i][j][1], dp2[i][prv[j]][0] + 1); for(int k = prv[j]; k != i; k = prv[k]) if(adj[k][i] && dp1[k][j][1]){ maximize(dp2[i][j][1], dp1[k][j][1] + 1 + dp2[i][prv[k]][0]); } maximize(res, dp2[i][j][0]); maximize(res, dp2[i][j][1]); } } cout << res; return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 476 KB | Unexpected end of file - int32 expected |
2 | Incorrect | 1 ms | 460 KB | Output isn't correct |
3 | Incorrect | 1 ms | 596 KB | Output isn't correct |
4 | Incorrect | 1 ms | 724 KB | Output isn't correct |
5 | Incorrect | 2 ms | 724 KB | Unexpected end of file - int32 expected |
6 | Incorrect | 3 ms | 852 KB | Output isn't correct |
7 | Incorrect | 5 ms | 980 KB | Output isn't correct |
8 | Incorrect | 4 ms | 1104 KB | Output isn't correct |
9 | Incorrect | 10 ms | 1240 KB | Output isn't correct |
10 | Incorrect | 6 ms | 1236 KB | Output isn't correct |
11 | Incorrect | 14 ms | 1236 KB | Output isn't correct |
12 | Incorrect | 68 ms | 2316 KB | Output isn't correct |
13 | Incorrect | 164 ms | 3304 KB | Output isn't correct |
14 | Incorrect | 360 ms | 4344 KB | Unexpected end of file - int32 expected |
15 | Incorrect | 881 ms | 5304 KB | Output isn't correct |
16 | Incorrect | 930 ms | 5388 KB | Output isn't correct |
17 | Incorrect | 855 ms | 5580 KB | Output isn't correct |
18 | Incorrect | 643 ms | 5292 KB | Unexpected end of file - int32 expected |
19 | Incorrect | 1027 ms | 5496 KB | Output isn't correct |
20 | Incorrect | 1016 ms | 5376 KB | Output isn't correct |