Submission #1691398
Source Code Expand
#include<cstdio> #include<algorithm> using namespace std; inline int read() { int x;char c; while((c=getchar())<'0'||c>'9'); for(x=c-'0';(c=getchar())>='0'&&c<='9';)x=x*10+c-'0'; return x; } #define MN 200000 #define K 18 struct edge{int nx,t;}e[MN*4+5]; int A[MN+5],B[MN+5],en,fa[K][MN+5],d[MN+5],ans; inline void ins(int*h,int x,int y) { e[++en]=(edge){h[x],y};h[x]=en; e[++en]=(edge){h[y],x};h[y]=en; } void pre(int x) { for(int i=B[x];i;i=e[i].nx)if(e[i].t!=fa[0][x]) d[e[i].t]=d[fa[0][e[i].t]=x]+1,pre(e[i].t); } int lca(int x,int y) { if(d[x]<d[y])swap(x,y); int k=d[x]-d[y],i; for(i=0;k;k>>=1,++i)if(k&1)x=fa[i][x]; if(x==y)return x; for(i=K;i--;)if(fa[i][x]!=fa[i][y])x=fa[i][x],y=fa[i][y]; return fa[0][x]; } void solve(int x,int y,int f,int p) { if(x==y)return; ans=max(ans,d[x]+d[y]-d[lca(x,y)]*2+p); for(int i=A[x];i;i=e[i].nx)if(e[i].t!=f&&e[i].t!=y) { if(d[x]+d[e[i].t]-d[lca(x,e[i].t)]*2>2)ans=2e9; if(lca(e[i].t,y)==y) { int t=e[i].t,k=d[t]-d[y]-1,j; for(j=0;k;k>>=1,++j)if(k&1)t=fa[j][t]; solve(e[i].t,t,x,p+1); } else solve(e[i].t,fa[0][y],x,p+1); } } int main() { int n,x,y,i,j; n=read();x=read();y=read(); for(i=1;i<n;++i)ins(A,read(),read()); for(i=1;i<n;++i)ins(B,read(),read()); pre(1); for(i=1;i<K;++i)for(j=1;j<=n;++j)fa[i][j]=fa[i-1][fa[i-1][j]]; solve(x,y,0,0); printf("%d",ans>1e9?-1:ans<<1); }
Submission Info
Submission Time | |
---|---|
Task | E - Sugigma: The Showdown |
User | ditoly |
Language | C++14 (GCC 5.4.1) |
Score | 1400 |
Code Size | 1429 Byte |
Status | AC |
Exec Time | 121 ms |
Memory | 32768 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1400 / 1400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | example0, example1, example2, example3, example4 |
All | doublestar0, doublestar1, doublestar2, doublestar3, doublestar4, doublestar5, doublestar6, doublestar7, example0, example1, example2, example3, example4, giri0, giri1, giri2, giri3, giri4, giri5, giri6, giri7, giri8, giri9, maxrand0, maxrand1, maxrand2, maxrand3, maxrand4, maxrand5, maxrand6, maxrand7, maxrand8, maxrand9, narashi0, narashi1, narashi2, narashi3, narashi4, narashi5, narashi6, narashi7, narashi8, narashi9, ok0, ok1, ok2, ok3, ok4, ok5, ok6, ok7, ok8, ok9, ouh0, ouh1, ouh2, ouh3, ouh4, ouh5, ouh6, ouh7, ouh8, ouh9, same0, same1, same2, same3, same4, same5, same6, same7, same8, same9, sameline0, sameline1, sameline2, sameline3, sameline4, sameline5, sameline6, sameline7, sameline8, sameline9, star0, star1, star2, star3, star4, star5, star6, star7, star8, star9, supersmall0, supersmall1, supersmall2, supersmall3, supersmall4, supersmall5, supersmall6, supersmall7, supersmall8, supersmall9 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
doublestar0 | AC | 65 ms | 22656 KB |
doublestar1 | AC | 62 ms | 22528 KB |
doublestar2 | AC | 65 ms | 22656 KB |
doublestar3 | AC | 64 ms | 22528 KB |
doublestar4 | AC | 69 ms | 22784 KB |
doublestar5 | AC | 66 ms | 22784 KB |
doublestar6 | AC | 62 ms | 22528 KB |
doublestar7 | AC | 62 ms | 22528 KB |
example0 | AC | 4 ms | 16512 KB |
example1 | AC | 4 ms | 16512 KB |
example2 | AC | 4 ms | 16512 KB |
example3 | AC | 4 ms | 16512 KB |
example4 | AC | 4 ms | 16512 KB |
giri0 | AC | 66 ms | 22784 KB |
giri1 | AC | 66 ms | 22656 KB |
giri2 | AC | 71 ms | 22656 KB |
giri3 | AC | 66 ms | 22656 KB |
giri4 | AC | 71 ms | 22656 KB |
giri5 | AC | 73 ms | 22912 KB |
giri6 | AC | 74 ms | 22784 KB |
giri7 | AC | 66 ms | 22656 KB |
giri8 | AC | 73 ms | 22784 KB |
giri9 | AC | 69 ms | 22784 KB |
maxrand0 | AC | 106 ms | 22784 KB |
maxrand1 | AC | 102 ms | 22656 KB |
maxrand2 | AC | 107 ms | 22784 KB |
maxrand3 | AC | 99 ms | 22656 KB |
maxrand4 | AC | 101 ms | 22656 KB |
maxrand5 | AC | 97 ms | 22656 KB |
maxrand6 | AC | 102 ms | 22656 KB |
maxrand7 | AC | 100 ms | 22656 KB |
maxrand8 | AC | 103 ms | 22656 KB |
maxrand9 | AC | 100 ms | 22656 KB |
narashi0 | AC | 69 ms | 22656 KB |
narashi1 | AC | 65 ms | 22656 KB |
narashi2 | AC | 67 ms | 22656 KB |
narashi3 | AC | 70 ms | 22656 KB |
narashi4 | AC | 71 ms | 22784 KB |
narashi5 | AC | 67 ms | 22656 KB |
narashi6 | AC | 70 ms | 22656 KB |
narashi7 | AC | 66 ms | 22784 KB |
narashi8 | AC | 69 ms | 22784 KB |
narashi9 | AC | 69 ms | 22656 KB |
ok0 | AC | 86 ms | 30080 KB |
ok1 | AC | 91 ms | 29312 KB |
ok2 | AC | 87 ms | 26240 KB |
ok3 | AC | 94 ms | 28928 KB |
ok4 | AC | 78 ms | 28544 KB |
ok5 | AC | 91 ms | 28672 KB |
ok6 | AC | 87 ms | 31744 KB |
ok7 | AC | 83 ms | 28544 KB |
ok8 | AC | 91 ms | 27264 KB |
ok9 | AC | 96 ms | 29568 KB |
ouh0 | AC | 63 ms | 22912 KB |
ouh1 | AC | 93 ms | 24192 KB |
ouh2 | AC | 69 ms | 24192 KB |
ouh3 | AC | 106 ms | 25856 KB |
ouh4 | AC | 71 ms | 23808 KB |
ouh5 | AC | 121 ms | 29952 KB |
ouh6 | AC | 85 ms | 26752 KB |
ouh7 | AC | 98 ms | 24704 KB |
ouh8 | AC | 86 ms | 25856 KB |
ouh9 | AC | 120 ms | 30976 KB |
same0 | AC | 64 ms | 22656 KB |
same1 | AC | 64 ms | 22656 KB |
same2 | AC | 55 ms | 22784 KB |
same3 | AC | 55 ms | 22784 KB |
same4 | AC | 55 ms | 22656 KB |
same5 | AC | 65 ms | 22656 KB |
same6 | AC | 55 ms | 22656 KB |
same7 | AC | 65 ms | 22656 KB |
same8 | AC | 52 ms | 22656 KB |
same9 | AC | 74 ms | 22784 KB |
sameline0 | AC | 102 ms | 27648 KB |
sameline1 | AC | 107 ms | 32128 KB |
sameline2 | AC | 75 ms | 28544 KB |
sameline3 | AC | 97 ms | 27520 KB |
sameline4 | AC | 67 ms | 27136 KB |
sameline5 | AC | 101 ms | 30592 KB |
sameline6 | AC | 78 ms | 26368 KB |
sameline7 | AC | 98 ms | 32768 KB |
sameline8 | AC | 75 ms | 27520 KB |
sameline9 | AC | 88 ms | 28800 KB |
star0 | AC | 56 ms | 22656 KB |
star1 | AC | 63 ms | 22656 KB |
star2 | AC | 49 ms | 22656 KB |
star3 | AC | 56 ms | 22656 KB |
star4 | AC | 58 ms | 22656 KB |
star5 | AC | 65 ms | 22656 KB |
star6 | AC | 50 ms | 22656 KB |
star7 | AC | 57 ms | 22656 KB |
star8 | AC | 59 ms | 22656 KB |
star9 | AC | 65 ms | 22784 KB |
supersmall0 | AC | 4 ms | 16512 KB |
supersmall1 | AC | 4 ms | 16512 KB |
supersmall2 | AC | 4 ms | 16512 KB |
supersmall3 | AC | 4 ms | 16512 KB |
supersmall4 | AC | 4 ms | 16512 KB |
supersmall5 | AC | 4 ms | 16512 KB |
supersmall6 | AC | 4 ms | 16512 KB |
supersmall7 | AC | 4 ms | 16512 KB |
supersmall8 | AC | 4 ms | 16512 KB |
supersmall9 | AC | 4 ms | 16512 KB |