Cod sursa(job #1146074)

Utilizator vladrochianVlad Rochian vladrochian Data 18 martie 2014 18:05:43
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.44 kb
#include <fstream>
#include <cmath>
using namespace std;
int n,m,l,v[18][250001];
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int main()
{
	int i,j,x,y;
	fin>>n>>m;
	l=log2(n);
	for(i=1;i<=n;++i)
		fin>>v[0][i];
	for(i=1;i<=l;++i)
		for(j=1;j<=n;++j)
			v[i][j]=v[i-1][v[i-1][j]];
	while(m--)
	{
		fin>>x>>y;
		for(i=0;x&&y;++i)
		{
			if(y&1)
				x=v[i][x];
			y>>=1;
		}
		fout<<x<<"\n";
	}
	return 0;
}