Pagini recente » Istoria paginii runda/simulare_de_oni_2/clasament | Cod sursa (job #1098737) | Cod sursa (job #1244428) | Cod sursa (job #2591930) | Cod sursa (job #485830)
Cod sursa(job #485830)
#include <stdio.h>
using namespace std;
FILE *f=fopen("stramosi.in","r"),*g=fopen("stramosi.out","w");
int n,m,a,b,v[32][250010],i,j,x;
int main(void)
{
fscanf(f,"%d%d",&n,&m);
for (i=1;i<=n;i++)
fscanf(f,"%d",&v[0][i]);
for (i=1;i<=30;i++)
{
for (j=1;j<=n;j++)
v[i][j]=v[i-1][v[i-1][j]];
}
for (i=1;i<=m;i++)
{
fscanf(f,"%d%d",&a,&b);
x=0;
while (b)
{
if (b%2==1)
a=v[x][a];
x++;
b/=2;
}
fprintf(g,"%d\n",a);
}
fclose(g);
return 0;
}