Pagini recente » Cod sursa (job #149911) | Cod sursa (job #3179960) | Cod sursa (job #2840877) | Cod sursa (job #538250) | Cod sursa (job #3226637)
#include <iostream>
#include <fstream>
#include <vector>
#define N 250005
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int up[N][20], n;
int main()
{
int i, j, k, q;
fin >> n >> q;
for (i = 1; i <= n; i++)
fin >> up[i][0];
for (i = 1; i <= n; i++)
for (j = 1; j <= 19; j++)
up[i][j] = up[up[i][j - 1]][j - 1];
while (q--)
{
fin >> i >> k;
for (j = 0; j <= 19; j++)
if (k & (1 << j))
i = up[i][j];
fout << i << "\n";
}
return 0;
}