Pagini recente » Cod sursa (job #3317556) | Cod sursa (job #1218470) | Cod sursa (job #1411940) | Cod sursa (job #2324374) | Cod sursa (job #3305924)
#include <iostream>
#include<fstream>
using namespace std;
ifstream fin ("stramosi.in");
ofstream fout ("stramosi.out");
int n, m, dp[20][250001], p, q, bit, i;
int main()
{
fin >> n >> m;
for (i = 1; i <= n; i++) fin >> dp[0][i];
for (p = 1; p < 20; p++)
for (i = 1; i <= n; i++)
dp[p][i] = dp[p - 1][dp[p - 1][i]];
for (i = 1; i <= m; i++)
{
fin >> q >> p;
for (bit = 0; bit < 20; bit++)
if ( (1 << bit) &p) q = dp[bit][q];
fout << q << '\n';
}
return 0;
}