Pagini recente » Cod sursa (job #2212361) | Cod sursa (job #2118835) | Cod sursa (job #522210) | Cod sursa (job #2168528) | Cod sursa (job #1437412)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
int v[30][250005]; //v[i][j] = al 2^i-lea stramos al lui j
int str(int q, int p)
{
for(int i = 20; i > -1; --i)
if(p & (1 << i))
q = v[i][q];
return q;
}
int main()
{
int N, M, Q, P, i;
f >> N >> M;
for(i = 1; i <= N; ++i)
f >> v[0][i];
for(int j = 1; j < 20; ++j)
for(i = 1; i <= N; ++i)
v[j][i] = v[j-1][v[j-1][i]];
for(i = 0; i < M; ++i)
{
f >> Q >> P;
g << str(Q,P) << endl;
}
return 0;
}