Pagini recente » Cod sursa (job #2843484) | Cod sursa (job #1561337) | Cod sursa (job #2046644) | Cod sursa (job #274633) | Cod sursa (job #2071609)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");
int n, m, q, p, rez, aux;
int dp[20][250005];
int main()
{
in >> n >> m;
for (int i = 1; i <= n; i++)
in >> dp[0][i];
for (int i = 1; (1<<i) <= n; i++)
for (int j = 1; j <= n; j++)
dp[i][j] = dp[i - 1][dp[i - 1][j]];
for (int i = 1; i <= m; i++)
{
in >> q >> p;
aux = q;
for (int i = 0; (1<<i) <= p; i++)
if (p & (1<<i))
aux = dp[i][aux];
out << aux << '\n';
}
return 0;
}