Pagini recente » Cod sursa (job #1619559) | Cod sursa (job #2167450) | Cod sursa (job #489702) | Cod sursa (job #2372016) | Cod sursa (job #2503391)
#include <iostream>
#include <fstream>
using namespace std;
int dk[19][250005];
int main()
{
ifstream cin("stramosi.in");
ofstream cout("stramosi.out");
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n, m, q , p;
cin >> n >> m;
for(int j = 1; j <= n; j++)
cin >> dk[0][j];
for (int i = 1; i < 19; i++)
for (int j = 1; j <= n; j++)
dk[i][j] = dk[i - 1][dk[i - 1][j]];
while (m--)
{
cin >> q >> p;
for (int i = 0; i < 19; i++)
if (p & (1 << i))
q = dk[i][q];
cout << q << "\n";
}
return 0;
}