Pagini recente » Cod sursa (job #2820214) | Cod sursa (job #2906085) | Cod sursa (job #1325745) | Cod sursa (job #1953068) | Cod sursa (job #227660)
Cod sursa(job #227660)
#include<stdio.h>
#define nmax 250001
int s[nmax][20],m,n;
FILE *f=fopen("stramosi.in","r"),*g=fopen("stramosi.out","w");
int main()
{
fscanf(f,"%d%d",&n,&m);
for(int i=1;i<=n;++i)
fscanf(f,"%d",&s[0][i]);
int ok=1,j=1;
while (ok==1)
{
ok=0;
for(int i=1;i<=n;++i)
{
s[j][i]=s[j-1][s[j-1][i]];
if (s[j][i]!=0)
ok=1;
}
j++;
}
int a,b;
for(j=1;j<=m;++j)
{
fscanf(f,"%d%d",&a,&b);
int t=0;
while (b!=0)
{
if (b%2==1)
a=s[t][a];
b/=2;
t++;
}
fprintf(g,"%d\n",a);
}
return 0;
}