# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
12803 | woqja125 | 전선 연결하기 (GA9_wire) | C++98 | 0 ms | 0 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>
#include<set>
int d[600001];
int l[300001];
int ans[300001];
int p[300001], e[300001];
struct R
{
int s, e, n;
R(int _s, int _e, int _n):s(_s), e(_e), n(_n){}
};
bool operator<(const R &A, const R &B){return A.s<B.s;}
int root(int x){return p[x]==x?x:p[x]=root(p[x]);}
int uni(int a, int b){a=root(a);b=root(b);return p[b] = a;}
void chk(int a, int b)
{
a = root(a);
b = root(b);
if(e[a] != 0) uni(e[a], b);
if(e[b] != 0) a = uni(e[b], a);
e[a] = b = root(b);
e[b] = a;
}
int main()
{
int n, i;
int t;
scanf("%d", &n);
for(i=1; i<=n; i++) p[i] = i;
for(i=1; i<=2*n; i++)