Cod sursa(job #546481)

Utilizator PlayLikeNeverB4George Marcus PlayLikeNeverB4 Data 4 martie 2011 23:30:17
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include <fstream>
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");

#define maxn 250005

int i,j,N,M,Q,P,k,x;
int A[21][maxn];

int main()
{
	fin >> N >> M;
	for(i=1;i<=N;i++)
		fin >> A[0][i];
	for(i=1;(1<<i)<=N;i++)
		for(j=1;j<=N;j++)
			A[i][j]=A[i-1][A[i-1][j]];
	for(;M;M--)
	{
		fin >> Q >> P;
		x=Q; k=0;
		while(P)
		{
			if(P&1) x=A[k][x];
			k++;
			P>>=1;
		}
		fout << x << '\n';
	}
}