Submission #1692549
Source Code Expand
#include<iostream> #include<algorithm> #include<cstdio> #include<cstdlib> #include<cstring> using namespace std; inline int read(){ int x;char c; while((c=getchar())<'0'||c>'9'); x=c-48; while((c=getchar())>='0'&&c<='9')x=x*10+c-48; return x; } const int maxn=2e5+10; int n,a,b,uu[maxn],vv[maxn],dep[maxn],fa[20][maxn],dist[maxn],ans; int ecnt,ebeg[maxn],enxt[maxn<<1],eto[maxn<<1]; int eecnt,eebeg[maxn],eenxt[maxn<<1],eeto[maxn<<1]; bool safe[maxn]; inline void ae(int u,int v){ ++ecnt; enxt[ecnt]=ebeg[u]; ebeg[u]=ecnt; eto[ecnt]=v; } inline void aee(int u,int v){ ++eecnt; eenxt[eecnt]=eebeg[u]; eebeg[u]=eecnt; eeto[eecnt]=v; } inline void chkmax(int&a,int b){ if(a<b)a=b; } void dfs(int pos){ for(int i=ebeg[pos],v;i;i=enxt[i]) if((v=eto[i])!=fa[0][pos]){ fa[0][v]=pos; dep[v]=dep[pos]+1; dfs(v); } } int lca(int u,int v){ if(dep[u]<dep[v])u^=v,v^=u,u^=v; for(int i=19;~i;--i) if(dep[fa[i][u]]>dep[v]) u=fa[i][u]; if(dep[u]>dep[v]) u=fa[0][u]; for(int i=19;~i;--i) if(fa[i][u]!=fa[i][v]) u=fa[i][u],v=fa[i][v]; if(u!=v) u=fa[0][u],v=fa[0][v]; return u; } void dfss(int pos,int last){ chkmax(ans,dep[pos]); if(dist[pos]>=dep[pos]) return; if(safe[pos]){ puts("-1"); exit(0); } for(int i=eebeg[pos];i;i=eenxt[i]) if(eeto[i]!=last){ dist[eeto[i]]=dist[pos]+1; dfss(eeto[i],pos); } } int main(){ n=read();a=read();b=read(); for(int i=1;i<n;++i) uu[i]=read(),vv[i]=read(); for(int i=1,u,v;i<n;++i){ u=read();v=read(); ae(u,v); ae(v,u); } dfs(b); for(int i=1;i<20;++i) for(int j=1;j<=n;++j) fa[i][j]=fa[i-1][fa[i-1][j]]; for(int i=1,u,v;i<n;++i){ u=uu[i];v=vv[i]; aee(u,v);aee(v,u); if(dep[u]+dep[v]-dep[lca(u,v)]*2>=3) safe[u]=safe[v]=true; } dfss(a,0); printf("%d\n",ans*2); return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Sugigma: The Showdown |
User | guo |
Language | C++14 (GCC 5.4.1) |
Score | 1400 |
Code Size | 1889 Byte |
Status | AC |
Exec Time | 505 ms |
Memory | 32896 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 | 406 ms | 27004 KB |
doublestar1 | AC | 263 ms | 26880 KB |
doublestar2 | AC | 302 ms | 26880 KB |
doublestar3 | AC | 236 ms | 26752 KB |
doublestar4 | AC | 269 ms | 27008 KB |
doublestar5 | AC | 386 ms | 27008 KB |
doublestar6 | AC | 305 ms | 26752 KB |
doublestar7 | AC | 353 ms | 26880 KB |
example0 | AC | 8 ms | 24832 KB |
example1 | AC | 8 ms | 24832 KB |
example2 | AC | 8 ms | 24960 KB |
example3 | AC | 8 ms | 24832 KB |
example4 | AC | 8 ms | 24832 KB |
giri0 | AC | 369 ms | 26880 KB |
giri1 | AC | 255 ms | 26880 KB |
giri2 | AC | 226 ms | 26880 KB |
giri3 | AC | 222 ms | 26880 KB |
giri4 | AC | 291 ms | 26880 KB |
giri5 | AC | 240 ms | 27008 KB |
giri6 | AC | 270 ms | 26880 KB |
giri7 | AC | 300 ms | 26880 KB |
giri8 | AC | 216 ms | 26880 KB |
giri9 | AC | 290 ms | 26880 KB |
maxrand0 | AC | 355 ms | 27008 KB |
maxrand1 | AC | 345 ms | 27008 KB |
maxrand2 | AC | 350 ms | 27008 KB |
maxrand3 | AC | 362 ms | 27008 KB |
maxrand4 | AC | 255 ms | 26880 KB |
maxrand5 | AC | 352 ms | 26880 KB |
maxrand6 | AC | 319 ms | 26880 KB |
maxrand7 | AC | 334 ms | 27008 KB |
maxrand8 | AC | 399 ms | 26880 KB |
maxrand9 | AC | 505 ms | 27008 KB |
narashi0 | AC | 308 ms | 26880 KB |
narashi1 | AC | 293 ms | 26880 KB |
narashi2 | AC | 259 ms | 26880 KB |
narashi3 | AC | 233 ms | 26880 KB |
narashi4 | AC | 302 ms | 26880 KB |
narashi5 | AC | 282 ms | 26880 KB |
narashi6 | AC | 325 ms | 26880 KB |
narashi7 | AC | 246 ms | 26880 KB |
narashi8 | AC | 234 ms | 26880 KB |
narashi9 | AC | 368 ms | 26880 KB |
ok0 | AC | 397 ms | 31872 KB |
ok1 | AC | 322 ms | 32512 KB |
ok2 | AC | 385 ms | 30464 KB |
ok3 | AC | 233 ms | 32640 KB |
ok4 | AC | 237 ms | 29312 KB |
ok5 | AC | 279 ms | 30336 KB |
ok6 | AC | 292 ms | 30848 KB |
ok7 | AC | 230 ms | 29312 KB |
ok8 | AC | 248 ms | 31488 KB |
ok9 | AC | 263 ms | 31104 KB |
ouh0 | AC | 237 ms | 27264 KB |
ouh1 | AC | 284 ms | 27904 KB |
ouh2 | AC | 235 ms | 28800 KB |
ouh3 | AC | 313 ms | 28928 KB |
ouh4 | AC | 278 ms | 28416 KB |
ouh5 | AC | 221 ms | 31232 KB |
ouh6 | AC | 241 ms | 31872 KB |
ouh7 | AC | 220 ms | 28160 KB |
ouh8 | AC | 210 ms | 30720 KB |
ouh9 | AC | 226 ms | 31872 KB |
same0 | AC | 240 ms | 26752 KB |
same1 | AC | 218 ms | 26752 KB |
same2 | AC | 319 ms | 26752 KB |
same3 | AC | 236 ms | 26752 KB |
same4 | AC | 378 ms | 26752 KB |
same5 | AC | 283 ms | 26752 KB |
same6 | AC | 187 ms | 26752 KB |
same7 | AC | 225 ms | 26752 KB |
same8 | AC | 261 ms | 26752 KB |
same9 | AC | 325 ms | 26752 KB |
sameline0 | AC | 342 ms | 32128 KB |
sameline1 | AC | 343 ms | 32384 KB |
sameline2 | AC | 324 ms | 30720 KB |
sameline3 | AC | 253 ms | 31360 KB |
sameline4 | AC | 336 ms | 31872 KB |
sameline5 | AC | 243 ms | 31872 KB |
sameline6 | AC | 254 ms | 30080 KB |
sameline7 | AC | 274 ms | 32896 KB |
sameline8 | AC | 287 ms | 30848 KB |
sameline9 | AC | 286 ms | 30080 KB |
star0 | AC | 110 ms | 26752 KB |
star1 | AC | 113 ms | 26752 KB |
star2 | AC | 107 ms | 26752 KB |
star3 | AC | 125 ms | 26752 KB |
star4 | AC | 108 ms | 26752 KB |
star5 | AC | 257 ms | 26752 KB |
star6 | AC | 101 ms | 26752 KB |
star7 | AC | 144 ms | 26752 KB |
star8 | AC | 204 ms | 26752 KB |
star9 | AC | 109 ms | 26752 KB |
supersmall0 | AC | 8 ms | 24832 KB |
supersmall1 | AC | 9 ms | 24832 KB |
supersmall2 | AC | 8 ms | 24832 KB |
supersmall3 | AC | 9 ms | 24832 KB |
supersmall4 | AC | 8 ms | 24832 KB |
supersmall5 | AC | 8 ms | 24960 KB |
supersmall6 | AC | 8 ms | 24832 KB |
supersmall7 | AC | 9 ms | 24832 KB |
supersmall8 | AC | 8 ms | 24832 KB |
supersmall9 | AC | 8 ms | 24832 KB |