Pagini recente » Cod sursa (job #1526319) | Cod sursa (job #1047951) | Cod sursa (job #2058186) | Cod sursa (job #2219624) | Cod sursa (job #3230835)
#include <bits/stdc++.h>
#define NMax 250000
#define LogMax 18
using namespace std;
ifstream fin ( "stramosi.in" );
ofstream fout ( "stramosi.out" );
int n, m;
int p, q;
int d[LogMax + 1][NMax + 1];
void query ( int q, int p )
{
for ( int i = LogMax; i >= 0; i-- )
if ( p & (1 << i) ) q = d[i][q];
fout << q << '\n';
}
int main()
{
fin >> n >> m;
for ( int i = 1; i <= n; i++ )
fin >> d[0][i];
for ( int i = 1; i <= LogMax; i++ )
for ( int j = 1; j <= n; j++ )
d[i][j] = d[i - 1][d[i - 1][j]];
for ( int i = 1; i <= m; i++ )
{
fin >> q >> p;
query(q, p);
}
return 0;
}