Pagini recente » Cod sursa (job #1857222) | Cod sursa (job #2441016) | Cod sursa (job #2099990) | Cod sursa (job #2150636) | Cod sursa (job #268830)
Cod sursa(job #268830)
#include<stdio.h>
unsigned long v[250010],mat[250010][71];
int main()
{
FILE *fi,*fo;
fi=fopen("stramosi.in","r");
fo=fopen("stramosi.out","w");
unsigned long n,m,i,p,q,aux,j;
fscanf(fi,"%lu",&n);
fscanf(fi,"%lu",&m);
for(i=1;i<=n;i++)fscanf(fi,"%lu",&v[i]);
for(i=1;i<=n;i++)
{
aux=i;
for(j=1;j<=70;j++)
{
aux=v[aux];
if(!aux)break;
mat[i][j]=aux;
}
}
for(;m--;)
{
fscanf(fi,"%lu %lu",&q,&p);
for(i=1;i<=p/70&&q;i++)q=mat[q][70];
if(q)if(p%70)q=mat[q][p%70];
fprintf(fo,"%lu\n",q);
}
return 0;
}