Pagini recente » Cod sursa (job #9208) | Cod sursa (job #2660483) | Cod sursa (job #2585275) | Cod sursa (job #543781) | Cod sursa (job #222160)
Cod sursa(job #222160)
#include <fstream>
using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");
int stramos[250001]={0},niv[250001]={0},n,m,x,y,aux,pos;
void citire()
{in>>n>>m; niv[0]=0;stramos[0]=0;
for(int i=1;i<=n;i++)
{in>>stramos[i];niv[i]=niv[stramos[i]]+1;
}}
int fct(int a,int niv)
{if(niv==0 || a==0) return a;
else {return fct(stramos[a],niv-1);}}
int main()
{
citire();
for(;m;m--)
{in>>x>>y; out<<fct(x,y)<<'\n'; }
return 0;
}