Cod sursa(job #166935)

Utilizator andrei-alphaAndrei-Bogdan Antonescu andrei-alpha Data 28 martie 2008 17:49:57
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>
#define N 300000
int n,m;
int mat[500][N],sd[N];
void make()
{
	for(int i=1;i<=n;++i)
		for(int j=2;j<400;++j)
			mat[j][i]=sd[ mat[j-1][i] ];
	/*for(int i=1;i<=n;++i)
	{	
		printf("\n");
		for(int j=1;j<10;++j)	
			printf("%d ", mat[i][j]);
	}*/	
}	
void scan()
{
	int q,p;
	freopen("stramosi.in", "r",stdin);
	freopen("stramosi.out", "w",stdout);
	scanf("%d%d", &n,&m);
	for(int k=1;k<=n;++k)
	{
		scanf("%d", &sd[k]);
		mat[1][k]=sd[k];
	}	
		make();
	for(int k=1;k<=m;++k)
	{
		scanf("%d%d", &p,&q);
		printf("%d\n", mat[q][p]);
	}
}
int main()
{
	scan();
	return 0;
}