Pagini recente » Istoria paginii utilizator/razvannasca | Istoria paginii utilizator/razbet | Monitorul de evaluare | Profil Deiutz | Cod sursa (job #202297)
Cod sursa(job #202297)
#include <fstream>
#include <iostream>
#include <stdio.h>
using namespace std;
ifstream fin ("stramosi.in");
typedef struct nod
{
int inf;
nod *adr;
} *pnod;
pnod sir[250005];
int n,m;
void baga(int a,int poz)
{
sir[poz]=new nod;
sir[poz]->inf=a;
sir[poz]->adr=sir[a];
}
int cauta(int a,int b)
{
pnod x=sir[a];
b--;
while (b)
{
if (x->inf!=0)
x=x->adr;
else
break;
b--;
}
return x->inf;
}
void citire()
{
freopen ("stramosi.out","w",stdout);
int a,b,x;
fin>>n>>m;
for (int i=0;i<n;i++)
{
fin>>x;
baga(x,i+1);
}
for (int j=0;j<m;j++)
{
fin>>a>>b;
//cout<<cauta(a,b)<<"\n";
printf("%d\n",cauta(a,b));
}
}
int main ()
{
citire();
return 0;
}