Cod sursa(job #879242)

Utilizator alinbrailaMusat Alin-Gabriel alinbraila Data 15 februarie 2013 09:52:30
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include<fstream>
using namespace std;

int i,j,a[250000][19],m,n,p,q,ct,nr,t;
ifstream f("stramosi.in");
ofstream g("stramosi.out");

int main()
{
	f>>n>>m;
	for (i=1;i<=n;i++) f>>a[1][i];
	for (j=2;j<=18;j++)
		for (i=1;i<=n;i++)
		{
			a[j][i]=a[j-1][a[j-1][i]];
		}
	for (t=1;t<=m;t++)
	{
		f>>q>>p; // al p a lui q   q=i
		while (p>0)
		{
			ct=0; nr=1;
			while (nr*2<=p) { nr=nr*2; ct++; }
		    p=p-nr;
			q=a[ct+1][q];
		}
		g<<q<<endl;
	}	
	f.close();
	g.close();
	return 0;
}