Cod sursa(job #229683)

Utilizator hazegirlCatalina Predoi hazegirl Data 11 decembrie 2008 09:31:38
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<fstream.h>
#include<math.h>
 long int v[18][250001];

int main()
{
long int j,p,i,q,m,n,nr=0,x;


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;
     x=pow(2,17);
	for(j=17;x>p;--j, x/=2);
	nr=x;
	q=v[j][q];
        while(nr<p && q!=0)
                {for(;x>p-nr;--j, x/=2);
                 nr+=x;
                 q=v[j][q];
                }

     g<<q<<"\n";}
f.close();         
g.close();         
return 0;         
}