Pagini recente » Cod sursa (job #747320) | Cod sursa (job #16782) | Cod sursa (job #696962) | Cod sursa (job #545447) | Cod sursa (job #416776)
Cod sursa(job #416776)
#include<fstream.h>
#include<deque>
#include<list>
#include<vector>
#define NMAX 250001
#define in ifstream fin("stramosi.in")
#define out ofstream fout("stramosi.out")
using namespace std;
typedef list<long> ST;
typedef ST::iterator IT;
ST S[NMAX];
long n,m;
long df(long k,long lg,long p)
{if(lg==p)
return k;
else
if(S[k].empty())
return 0;
else
return df(S[k].front(),lg+1,p);
}
int main()
{in;
out;
fin>>n>>m;
long i,x,q,p;
for(i=1;i<=n;++i)
{fin>>x;
if(x>0)
{S[i].push_back(x);
}
}
IT it;
for(;m;--m)
{fin>>q>>p;
fout<<df(q,0,p)<<'\n';
}
fin.close();
fout.close();
return 0;
}