Cod sursa(job #722977)

Utilizator robertpoeRobert Poenaru robertpoe Data 24 martie 2012 19:23:51
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<fstream>
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
long int a[18][260000],y[20];
long int p,q,i,j,k,m2;
long n,m;
int main()
{	
	f>>n>>m;
	y[0]=1;
	for(j=1;j<=17;j++)
		y[j]=2*y[j-1];
	a[0][0]=0;
	for(j=1;j<=n;j++) 
		f>>a[0][j];
	for(i=1;i<=17;i++)
		for(j=1;j<=n;j++)
		{ 
			m2=a[i-1][j];
			a[i][j]=a[i-1][m2];
		}
	for(i=1;i<=m;i++)
	{
		f>>q>>p;
		k=1;
		while(p)
		{
			if(p%2==1)
				q=a[k-1][q];
			k++;
			p/=2;
		}
		g<<q<<"\n";
	}
	return 0;
}