Pagini recente » Cod sursa (job #2467015) | Cod sursa (job #1093471) | Cod sursa (job #1506977) | Cod sursa (job #2336647) | Cod sursa (job #2603375)
#include <bits/stdc++.h>
#define NM 250005
using namespace std;
ifstream fin ("stramosi.in");
ofstream fout ("stramosi.out");
int n, Q, t[NM][int(log2(NM))+5];
void build()
{
for(int i=1; i<=log2(n); i++)
{
for(int nod=1; nod<=n; nod++)
t[nod][i] = t[t[nod][i-1]][i-1];
}
}
int main()
{
fin >> n >> Q;
for(int i=1; i<=n; i++)
fin >> t[i][0];
build();
while(Q--)
{
int x, c;
fin >> x >> c;
while(c)
{
int p = log2(c);
x = t[x][p];
c-=(1<<p);
}
fout << x << '\n';
}
return 0;
}