Pagini recente » Cod sursa (job #842884) | Cod sursa (job #3279715) | Rating Gheorghe Andrei (speedypleath) | Cod sursa (job #334604) | Cod sursa (job #227488)
Cod sursa(job #227488)
#include<stdio.h>
#define nmax 250001
long s[nmax][32],m,n,i;
FILE *f=fopen("stramos.in","r"),*g=fopen("stramos.out","w");
int main()
{
fscanf(f,"%ld%ld",&n,&m);
for(i=1;i<=n;++i)
fscanf(f,"%ld",&s[0][i]);
int ok=1;
long 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++;
}
long a,b;
for(j=1;j<=m;++j)
{
fscanf(f,"%ld%ld",&a,&b);
int t=0;
while (b!=0)
{
if (b%2==1)
a=s[t][a];
b/=2;
t++;
}
fprintf(g,"%ld\n",a);
}
return 0;
}