Pagini recente » Cod sursa (job #167680) | Cod sursa (job #418078) | Cod sursa (job #1263113) | Cod sursa (job #2088898) | Cod sursa (job #1368081)
#include <fstream>
#define NMAX 250005
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int t[NMAX][20];
int main()
{
int n, m, q, p, rez;
fin >> n >> m;
for (int i = 1; i <= n; ++i)
fin >> t[i][0];
for (int j = 1; (1 << j) <= n; ++j)
for (int i = 1; i <= n; ++i)
t[i][j] = t[ t[i][j-1] ][j-1];
for (; m ; --m)
{
fin >> q >> p;
rez = q;
for (int i = 0; (1 << i) <= p; ++i)
{
if (p & (1 << i)) rez = t[rez][i];
if (!rez) break;
}
fout << rez << '\n';
}
return 0;
}