Cod sursa(job #848452)

Utilizator tibi9876Marin Tiberiu tibi9876 Data 5 ianuarie 2013 15:00:05
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include<fstream>
using namespace std;

int a[21][250001],i,j,n,m,x,y;

int main()
{
	ifstream f("stramosi.in");
	ofstream g("stramosi.out");
	f >> n >> m;
	for (i=1;i<=n;i++)
		f >> a[0][i];
	for (j=1;j<=17;j++)
		for (i=1;i<=n;i++)
			a[j][i]=a[j-1][a[j-1][i]];
	for (i=1;i<=m;i++)
	{
		f >> x >> y;
		for (j=0;y>0;j++)
		{
			if ((y & (1 << j))>0)
			{
				x=a[j][x];
				y-=1 << j;
			}
		}
		g << x << "\n";
	}
	return 0;
}