Sponsors

Codeforces Round #425 (Div. 2), problem: (D) Misha, Grisha and Underground Solution In C/C++

#include<cstdio>
#include<iostream>
using namespace std;
struct Edge{
int to,next;
}e[202020];
int head[101010],cnt=0;
void add(int u,int v)
{
cnt++;
e[cnt].to=v;
e[cnt].next=head[u];
head[u]=cnt;
}
int anc[20][101010];
int dep[101010];
void dfs(int x,int fa)
{
for(int i=head[x];i!=0;i=e[i].next)
{
int to=e[i].to;
if(to!=fa)
{
dep[to]=dep[x]+1;
anc[0][to]=x;
dfs(to,x);
}
}
}

int lca(int u,int v)
{
if(u==v)
return u;
if(dep[u]<dep[v])
swap(u,v);
for(int i=18;i>=0&&dep[u]!=dep[v];i–)
if(dep[anc[i][u]]>=dep[v])
u=anc[i][u];
if(u==v)
return u;
for(int i=18;i>=0;i–)
if(anc[i][u]!=anc[i][v])
{
u=anc[i][u];
v=anc[i][v];
}
return anc[0][u];
}
int dis(int u,int v)
{
int LCA=lca(u,v);
return dep[u]+dep[v]-dep[LCA]-dep[LCA];
}
int main()
{
int n,q;
scanf(“%d%d”,&n,&q);
for(int i=2;i<=n;i++)
{
int p;
scanf(“%d”,&p);
add(i,p);
add(p,i);
}
anc[0][1]=1;
dep[1]=1;
dfs(1,0);
for(int i=1;i<=18;i++)
for(int j=1;j<=n;j++)
anc[i][j]=anc[i-1][anc[i-1][j]];
while(q–)
{
int s,t,f;
scanf(“%d%d%d”,&s,&t,&f);
int mid=1;
int might;
might=lca(s,t);
if(dep[might]>dep[mid])
mid=might;
might=lca(s,f);
if(dep[might]>dep[mid])
mid=might;
might=lca(t,f);
if(dep[might]>dep[mid])
mid=might;
int ans=0;
ans=max(dis(mid,s),max(dis(mid,t),dis(mid,f)));
printf(“%d\n”,ans+1);
}
return 0;
}

Can octopus get attached...

Do Octopuses Form Genuine Bonds with Humans? The Nuanced...

News From Nancy 1/9/2026...

Five Years After the Insurrection: Reflecting on January 6th...

OpenAI Hires Co-Founders of...

OpenAI Snaps Up Convogo Co-Founders, Bolstering Expertise in AI...

Do ferrets cough up...

Understanding Ferret Health: Do Ferrets Cough Up Hairballs? For many...

Lenovo goes all in...

Lenovo's AI Leap at CES 2026: The Future Is...

Why 99% of scientists...

The Unanimous Truth: Why 99% of Scientists Believe in...

Can octopus get attached to humans?

Do Octopuses Form Genuine Bonds with Humans? The Nuanced Answer The question of whether an octopus can genuinely attach itself to a human has captivated...

News From Nancy 1/9/2026 — Save Our Health Care

Five Years After the Insurrection: Reflecting on January 6th and the Fight for Health Care The latest update from the “News From Nancy” series, dated...

OpenAI Hires Co-Founders of AI-Powered Tool Convogo

OpenAI Snaps Up Convogo Co-Founders, Bolstering Expertise in AI Coaching and HR The global race for top artificial intelligence talent continues to heat up, and...

Do ferrets cough up hairballs?

Understanding Ferret Health: Do Ferrets Cough Up Hairballs? For many small pet owners, the sight or sound of a cat coughing up a hairball is...

Lenovo goes all in on AI with concepts at CES 2026

Lenovo's AI Leap at CES 2026: The Future Is Conceptual CES is renowned for launching the must-have gadgets of the year, but the annual tech...

Why 99% of scientists believe in evolution

The Unanimous Truth: Why 99% of Scientists Believe in Evolution In the public discourse, the debate between evolutionary theory and creationism often appears balanced. However,...

Charles Cross agrees to four-year extension with Seahawks

Charles Cross Secures Future with Massive Four-Year Extension with Seahawks The Seattle Seahawks organization demonstrated its commitment to building a formidable foundation by securing one...

Samsung Display Unveils New OLED Tech for Robots & Wearables at CES 2026

Samsung Display Prepares to Dazzle CES 2026 with Next-Gen OLED Innovations As the tech world gears up for CES 2026, all eyes are turning toward...

What do male octopus do after mating?

The Fateful Finale: What Happens to Male Octopuses After Mating? The ocean is home to countless wonders, but few natural phenomena are as dramatically tragic...