Pagini recente » Cod sursa (job #3280743) | Cod sursa (job #1263702) | Cod sursa (job #2233917) | Cod sursa (job #842264) | Cod sursa (job #166934)
Cod sursa(job #166934)
#include <stdio.h>
#define N 300000
int n,m;
int mat[N][500],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;
}