# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
11590 | 2014-12-03T00:31:06 Z | gs14004 | Senior Postmen (BOI14_postmen) | C++ | 500 ms | 8564 KB |
#include <cstdio> #include <vector> #include <cstring> using namespace std; int n,m; int st[1000005], back[1000005], link[1000005], v[500005], nex[1000005], sz; vector<int> cyc, temp; void add_edge(int s, int e){ sz++; link[sz] = e; back[sz] = st[s]; st[s] = sz; nex[back[sz]] = sz; sz++; link[sz] = s; back[sz] = st[e]; st[e] = sz; nex[back[sz]] = sz; } void f(int x){ int p = st[x]; while (p) { int pos = link[p]; int q = (p+1)/2; int r = p; if(p&1) r++; else r--; st[x] = p = back[p]; if(r == st[pos]){ st[pos] = back[r]; } else{ int s = nex[r]; back[s] = back[r]; nex[back[r]] = s; } if(!v[q]){ v[q]=1; f(pos); } } cyc.push_back(x); } int vis[500005]; int main(){ scanf("%d %d",&n,&m); for (int i=0; i<m; i++) { int s,e; scanf("%d %d",&s,&e); add_edge(s,e); } f(1); for (int i=0; i<cyc.size(); i++) { temp.push_back(cyc[i]); if(vis[cyc[i]]){ printf("%d",temp.back()); temp.pop_back(); while(temp.back() != cyc[i]){ printf(" %d",temp.back()); vis[temp.back()] = 0; temp.pop_back(); if(temp.back() == cyc[i]) printf("\n"); } } else vis[cyc[i]] = 1; } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Correct | 6 ms | 384 KB | Output is correct |
3 | Correct | 5 ms | 360 KB | Output is correct |
4 | Correct | 11 ms | 640 KB | Output is correct |
5 | Correct | 6 ms | 436 KB | Output is correct |
6 | Correct | 8 ms | 640 KB | Output is correct |
7 | Correct | 17 ms | 1408 KB | Output is correct |
8 | Correct | 6 ms | 512 KB | Output is correct |
9 | Correct | 208 ms | 7244 KB | Output is correct |
10 | Correct | 6 ms | 512 KB | Output is correct |
11 | Correct | 7 ms | 512 KB | Output is correct |
12 | Correct | 86 ms | 7152 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Correct | 5 ms | 384 KB | Output is correct |
3 | Correct | 5 ms | 384 KB | Output is correct |
4 | Correct | 11 ms | 512 KB | Output is correct |
5 | Correct | 5 ms | 384 KB | Output is correct |
6 | Correct | 9 ms | 640 KB | Output is correct |
7 | Correct | 16 ms | 1408 KB | Output is correct |
8 | Correct | 6 ms | 512 KB | Output is correct |
9 | Correct | 206 ms | 7064 KB | Output is correct |
10 | Correct | 7 ms | 512 KB | Output is correct |
11 | Correct | 6 ms | 512 KB | Output is correct |
12 | Correct | 84 ms | 7256 KB | Output is correct |
13 | Correct | 52 ms | 8560 KB | Output is correct |
14 | Correct | 52 ms | 6640 KB | Output is correct |
15 | Execution timed out | 1091 ms | 6900 KB | Time limit exceeded |
16 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Correct | 5 ms | 384 KB | Output is correct |
3 | Correct | 5 ms | 384 KB | Output is correct |
4 | Correct | 11 ms | 512 KB | Output is correct |
5 | Correct | 6 ms | 512 KB | Output is correct |
6 | Correct | 8 ms | 616 KB | Output is correct |
7 | Correct | 17 ms | 1408 KB | Output is correct |
8 | Correct | 5 ms | 512 KB | Output is correct |
9 | Correct | 206 ms | 7148 KB | Output is correct |
10 | Correct | 6 ms | 512 KB | Output is correct |
11 | Correct | 12 ms | 512 KB | Output is correct |
12 | Correct | 94 ms | 7188 KB | Output is correct |
13 | Correct | 51 ms | 8564 KB | Output is correct |
14 | Correct | 57 ms | 6736 KB | Output is correct |
15 | Execution timed out | 1074 ms | 6940 KB | Time limit exceeded |
16 | Halted | 0 ms | 0 KB | - |