# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
977350 | 2024-05-07T19:05:29 Z | aykhn | Stations (IOI20_stations) | C++17 | 590 ms | 956 KB |
#include "stations.h" #include <bits/stdc++.h> using namespace std; const int MXN = 1e3 + 5; int in[MXN], out[MXN], tim = -1; vector<int> adj[MXN]; vector<int> labels; void dfs(int a, int p, int w) { in[a] = ++tim; for (int v : adj[a]) { if (v == p) continue; dfs(v, a, w ^ 1); } out[a] = ++tim; if (w) labels[a] = in[a]; else labels[a] = out[a]; } vector<int> label(int n, int k, vector<int> u, vector<int> v) { tim = -1; for (int i = 0; i < n; i++) { in[i] = out[i] = 0; adj[i].clear(); } for (int i = 0; i < n - 1; i++) adj[u[i]].push_back(v[i]), adj[v[i]].push_back(u[i]); labels.assign(n, 0); dfs(0, 0, 0); vector<array<int, 2>> v1; for (int i = 0; i < labels.size(); i++) v1.push_back({labels[i], i}); sort(v1.begin(), v1.end()); for (int i = 0; i < v1.size(); i++) labels[v1[i][1]] = i; return labels; } int find_next_station(int s, int t, vector<int> c) { sort(c.begin(), c.end()); for (int x : c) if (x == t) return t; if (s == 0) { reverse(c.begin(), c.end()); for (int x : c) if (x <= t) return x; } int sz = c.size(); if (sz == 1) return c[0]; else if (s < c[0]) { if (!(s + 1 <= t && t <= c[sz - 2])) return c[sz - 1]; c.pop_back(); for (int x : c) if (t <= x) return x; } else { if (!(c[1] <= t && t <= s - 1)) return c[0]; c.erase(c.begin()); reverse(c.begin(), c.end()); for (int x : c) if (x <= t) return x; } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 359 ms | 944 KB | Wrong query response. |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 278 ms | 896 KB | Wrong query response. |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 346 ms | 956 KB | Wrong query response. |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 590 ms | 684 KB | Output is correct |
2 | Correct | 432 ms | 684 KB | Output is correct |
3 | Incorrect | 369 ms | 940 KB | Wrong query response. |
4 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 323 ms | 944 KB | Wrong query response. |
2 | Halted | 0 ms | 0 KB | - |