Pagini recente » Cod sursa (job #1370983) | Cod sursa (job #2433383) | Cod sursa (job #412021) | Cod sursa (job #1294216) | Cod sursa (job #1032663)
#include <iostream>
#include <fstream>
#include <list>
#include <iterator>
#define nmax 250005
using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");
long N, M, P, Q;
list<long> tata[nmax];
list<long>::iterator it;
int main()
{
long t;
in >> N >> M;
for ( long i=1; i<=N; ++i )
{
in >> t;
tata[i].push_back(t);
tata[i].insert(tata[i].end() ,tata[t].begin(), tata[t].end());
}
for ( long i=1; i<=M; ++i )
{
in >> Q >> P;
if ( P > tata[Q].size() ) out << 0 << '\n';
else
{
it = tata[Q].begin();
advance(it, P-1);
out << *it << '\n';
}
}
/*
for ( int i=1; i<=N; ++i )
{
cout << i << " ";
for ( it = tata[i].begin(); it != tata[i].end(); ++it )
cout << *it << " ";
cout << '\n';
}
*/
return 0;
}