# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
356248 | 2021-01-23T08:36:40 Z | parsabahrami | 어르신 집배원 (BOI14_postmen) | C++17 | 500 ms | 100716 KB |
// Call my Name and Save me from The Dark #include <bits/stdc++.h> using namespace std; typedef long long int ll; typedef pair<int, int> pii; #define SZ(x) (int) x.size() #define F first #define S second const int N = 5e5 + 10; int M[N], ptr[N], from[N], to[N], n, m; vector<int> adj[N]; set<pii> tr; void tour(int v) { while (ptr[v] < SZ(adj[v])) { int id = adj[v][ptr[v]++]; int u = from[id] ^ v ^ to[id]; if (!M[id]) M[id] = 1, tour(u); } tr.insert({SZ(tr) + 1, v}); } int main() { scanf("%d%d", &n, &m); for (int i = 1; i <= m; i++) { scanf("%d%d", &from[i], &to[i]); adj[from[i]].push_back(i); adj[to[i]].push_back(i); } for (int i = 1; i <= n; i++) assert(!(SZ(adj[i]) & 1)); tour(1); memset(M, 0, sizeof M); for (auto it = tr.begin(); it != tr.end(); it = tr.upper_bound(*it)) { if (M[it->S]) { for (auto it2 = tr.lower_bound({M[it->S], it->S}); it2 != it;) { M[it2->S] = 0; printf("%d ", it2->S); it2 = tr.erase(it2); } printf("\n"); M[it->S] = it->F; } else M[it->S] = it->F; } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 10 ms | 14208 KB | Output is correct |
2 | Correct | 10 ms | 14060 KB | Output is correct |
3 | Correct | 10 ms | 14060 KB | Output is correct |
4 | Correct | 12 ms | 14592 KB | Output is correct |
5 | Correct | 11 ms | 14188 KB | Output is correct |
6 | Correct | 13 ms | 14700 KB | Output is correct |
7 | Correct | 20 ms | 16236 KB | Output is correct |
8 | Correct | 11 ms | 14444 KB | Output is correct |
9 | Correct | 85 ms | 27756 KB | Output is correct |
10 | Correct | 12 ms | 14592 KB | Output is correct |
11 | Correct | 12 ms | 14572 KB | Output is correct |
12 | Correct | 92 ms | 28140 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 10 ms | 14060 KB | Output is correct |
2 | Correct | 10 ms | 14060 KB | Output is correct |
3 | Correct | 10 ms | 14060 KB | Output is correct |
4 | Correct | 12 ms | 14572 KB | Output is correct |
5 | Correct | 10 ms | 14188 KB | Output is correct |
6 | Correct | 13 ms | 14700 KB | Output is correct |
7 | Correct | 20 ms | 16236 KB | Output is correct |
8 | Correct | 13 ms | 14444 KB | Output is correct |
9 | Correct | 87 ms | 27756 KB | Output is correct |
10 | Correct | 13 ms | 14444 KB | Output is correct |
11 | Correct | 12 ms | 14444 KB | Output is correct |
12 | Correct | 91 ms | 28140 KB | Output is correct |
13 | Correct | 124 ms | 31084 KB | Output is correct |
14 | Correct | 116 ms | 26988 KB | Output is correct |
15 | Correct | 119 ms | 29928 KB | Output is correct |
16 | Correct | 155 ms | 31180 KB | Output is correct |
17 | Correct | 126 ms | 24556 KB | Output is correct |
18 | Correct | 123 ms | 28652 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 10 ms | 14060 KB | Output is correct |
2 | Correct | 11 ms | 14060 KB | Output is correct |
3 | Correct | 10 ms | 14060 KB | Output is correct |
4 | Correct | 14 ms | 14572 KB | Output is correct |
5 | Correct | 10 ms | 14188 KB | Output is correct |
6 | Correct | 12 ms | 14700 KB | Output is correct |
7 | Correct | 24 ms | 16364 KB | Output is correct |
8 | Correct | 12 ms | 14444 KB | Output is correct |
9 | Correct | 84 ms | 27884 KB | Output is correct |
10 | Correct | 12 ms | 14316 KB | Output is correct |
11 | Correct | 13 ms | 14444 KB | Output is correct |
12 | Correct | 92 ms | 28140 KB | Output is correct |
13 | Correct | 127 ms | 31328 KB | Output is correct |
14 | Correct | 115 ms | 26988 KB | Output is correct |
15 | Correct | 138 ms | 29804 KB | Output is correct |
16 | Correct | 116 ms | 31084 KB | Output is correct |
17 | Correct | 113 ms | 24556 KB | Output is correct |
18 | Correct | 136 ms | 28652 KB | Output is correct |
19 | Execution timed out | 821 ms | 100716 KB | Time limit exceeded |
20 | Halted | 0 ms | 0 KB | - |