Cod sursa(job #217484)
Utilizator | Gagos Radu Vasile Gagos | Data | 28 octombrie 2008 19:02:43 |
---|---|---|---|
Problema | Stramosi | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<stdio.h>
long m,n,s[18][260000],p,q,k;
int main()
{
long i,j;
freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
scanf("%ld %ld",&n,&m);
for(j=1;j<=n;++j)
scanf("%ld",&s[0][j]);
for(i=1;i<=17;++i)
for(j=1;j<=n;++j)
s[i][j]=s[i-1][s[i-1][j]];
for(;m;--m){
scanf("%ld %ld",&q,&p);
while(p){
k=1;
if(p&1)
q=s[k-1][q];
k++;
p/=2;
}
printf("%ld\n",q);
}
printf("\n");
fcloseall();
return 0;
}