Pagini recente » Cod sursa (job #1176474) | Cod sursa (job #630048) | Cod sursa (job #1053891) | Cod sursa (job #2968186) | Cod sursa (job #2958964)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int n, q, d[20][250003];
int main()
{
int i, j, x, p;
fin >> n >> q;
for (i = 1; i <= n; i++)
fin >> d[0][i];
for (i = 1; i <= 18; i++)
for (j = 1; j <= n; j++)
d[i][j] = d[i - 1][d[i - 1][j]];
while (q--)
{
fin >> x >> p;
i = 0;
while (p > 0)
{
if (p % 2 == 1)
x = d[i][x];
i++;
p /= 2;
}
fout << x << "\n";
}
return 0;
}