Pagini recente » Cod sursa (job #2164632) | Cod sursa (job #803878) | Cod sursa (job #835425) | Cod sursa (job #293660) | Cod sursa (job #348711)
Cod sursa(job #348711)
#include <iostream>
#include <fstream>
#include <cstdio>
#include <cstdlib>
using namespace std;
int v[10][250001];
int nr_v;
int pos;
void solve()
{
freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
scanf("%d %d",&nr_v,&pos);
for (int i=1; i<=nr_v; ++i)
scanf("%d",&v[1][i]);
for (int j=2; j<=8; ++j)
for (int i=1; i<=nr_v; ++i)
v[j][i]=v[1][v[j-1][i]];
int p,q;
for (int i=1; i<=pos; ++i)
{
scanf("%d %d",&p,&q);
if (p<=8)
printf("%d\n",v[p][q]);
else
{
while (p>8)
{
q=v[8][q];
p=p-8;
}
printf("%d\n",v[p][q]);
}
}
fclose(stdin);
fclose(stdout);
}
int main()
{
solve();
return 0;
}