Cod sursa(job #1920545)

Utilizator Remy1307Remy Remy Remy1307 Data 10 martie 2017 08:05:57
Problema Lowest Common Ancestor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>
using namespace std;
ifstream fin("lca.in");
ofstream fout("lca.out");
int T[100001],k,i,j,n,m,x,y;
int main()
{
    fin>>n>>m;

    for(i=2;i<=n;i++)
        fin>>T[i];

    for(i=1;i<=m;i++)
    {
        fin>>x>>y;

        while(x!=y)
        {

            if(x==T[y])
                x=y;

            if(y==T[x])
                y=x;

            x=T[x];
            y=T[y];
        }

        fout<<x<<"\n";
    }

    return 0;
}