# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
5116 | cki86201 | Special graph (IZhO13_specialg) | C++98 | 92 ms | 13704 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<stdio.h>
const int N_ = 100010;
const int T_ = 1<<17;
int st[N_], en[N_<<1], nxt[N_<<1];
inline void addE(int s,int e,int c){nxt[c]=st[s],st[s]=c,en[c]=e;}
int ind[N_], p[N_], er[N_];
int N, M;
int S[N_], D[N_], U[N_], dep[N_], ns = 1;
int Que[N_];
int cn[N_], us[N_], ue[N_], nc;
int qua[N_][3];
int ans[N_], len;
int T[1<<18];
struct UnF{
int p[N_], w[N_];
void init(){for(int i=1;i<=N;i++)p[i] = i, w[i] = 1;}
int Find(int x){
if(x == p[x])return x;
return p[x] = Find(p[x]);
}
void Union(int x,int y){
x = Find(x), y = Find(y);
if(x==y)return;
else if(w[x]<w[y])p[x] = y, w[y] += w[x];
else p[y] = x, w[x] += w[y];
}
}uf;
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |