Cod sursa(job #379365)

Utilizator ionutz32Ilie Ionut ionutz32 Data 1 ianuarie 2010 11:28:34
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.42 kb
#include <stdio.h>
int v[18][250005],n,m,i,j,q,p;
int main()
{
	freopen("stramosi.in","r",stdin);
	freopen("stramosi.out","w",stdout);
	scanf("%d %d",&n,&m);
	for (i=1;i<=n;++i)
		scanf("%d",&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]];
	while (m--)
	{
		scanf("%d %d",&q,&p);
		for (i=0;i<=17;++i)
			if (p & (1<<i))
				q=v[i][q];
		printf("%d\n",q);
	}
	return 0;
}