Cod sursa(job #229681)

Utilizator hazegirlCatalina Predoi hazegirl Data 11 decembrie 2008 09:24:54
Problema Stramosi Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<fstream.h>
#include<math.h>
 long int j,p,i,q,m,n,nr=0;
 long int v[18][250001];





int main()
{

ifstream f("stramosi.in");
 ofstream g("stramosi.out");
f>>n>>m;
for(i=1; i<=n; ++i)
	f>>v[0][i];


	for(i=1;i<=17;++i)
		for(j=1;j<=n;++j)
			v[i][j]=v[i-1][v[i-1][j]];

for(i=1;i<=m;++i)
    {f>>q>>p;
	for(j=17;pow(2,j)>p;--j);
	nr=pow(2,j);
	q=v[j][q];
        while(nr<p && q!=0)
                {for(;pow(2,j)>p-nr;--j);
                 nr+=pow(2,j);
                 q=v[j][q];
                }
      // for(;nr<p && q!=0;nr++)
	//	q=v[0][q];
     g<<q<<"\n";}
f.close();         
g.close();         
return 0;         
}