# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
208232 | 2020-03-10T11:21:00 Z | alexandra_udristoiu | Pipes (CEOI15_pipes) | C++14 | 2141 ms | 65536 KB |
#include<iostream> #include<vector> #include<cstdio> #define DIM 100005 using namespace std; int n, m, i, x, y, r1, r2, nr; int r[DIM], ok[DIM], t[DIM], nxt[DIM], niv[DIM]; vector<int> v[DIM]; int rad(int x){ while(r[x] > 0){ x = r[x]; } return x; } int urm(int x){ int y, aux; y = nxt[x]; while(ok[y] == 1){ y = nxt[y]; } while(x != y){ aux = nxt[x]; nxt[x] = y; x = aux; } return y; } void dfs(int nod, int tt){ niv[nod] = 1 + niv[tt]; for(int i = 0; i < v[nod].size(); i++){ if(v[nod][i] != tt){ dfs(v[nod][i], nod); } } if(t[nod] != tt){ ok[ t[nod] ] = ok[nod]; t[nod] = tt; nxt[nod] = t[nod]; } } int main(){ scanf("%d%d", &n, &m); for(i = 1; i <= n; i++){ r[i] = -1; } for(; m; m--){ scanf("%d%d", &x, &y); r1 = rad(x); r2 = rad(y); if(r1 != r2){ /*nr++; if(nr == n){ break; }*/ v[x].push_back(y); v[y].push_back(x); if(r[r1] < r[r2]){ r[r1] += r[r2]; r[r2] = r1; dfs(y, x); ok[y] = 0; } else{ r[r2] += r[r1]; r[r1] = r2; dfs(x, y); ok[x] = 0; } } else{ while(x != y){ if(niv[x] > niv[y]){ ok[x] = 1; x = urm(x); } else{ ok[y] = 1; y = urm(y); } } } } for(i = 1; i <= n; i++){ if(ok[i] == 0 && t[i] != 0){ cout<< i <<" "<< t[i] <<"\n"; } } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 6 ms | 2680 KB | Output is correct |
2 | Correct | 6 ms | 2680 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 10 ms | 2936 KB | Output is correct |
2 | Correct | 10 ms | 2936 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 188 ms | 2936 KB | Output is correct |
2 | Correct | 172 ms | 2808 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 320 ms | 3192 KB | Output is correct |
2 | Correct | 356 ms | 3192 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 512 ms | 3832 KB | Output is correct |
2 | Correct | 420 ms | 4204 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 654 ms | 6268 KB | Output is correct |
2 | Correct | 580 ms | 6392 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1044 ms | 6776 KB | Output is correct |
2 | Correct | 1012 ms | 6776 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1387 ms | 7800 KB | Output is correct |
2 | Correct | 1301 ms | 7800 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1743 ms | 7672 KB | Output is correct |
2 | Correct | 1702 ms | 7800 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2141 ms | 7416 KB | Output is correct |
2 | Runtime error | 2117 ms | 65536 KB | Memory limit exceeded (if you are sure your verdict is not MLE, please contact us) |