Cod sursa(job #1518244)

Utilizator ArkinyStoica Alex Arkiny Data 5 noiembrie 2015 19:31:11
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include<iostream>
#include<fstream>

int D[19][250001], N, M, i, j, e;

int main()
{
	std::ifstream f("stramosi.in");
	std::ofstream g("stramosi.out");

	f >> N >> M;

	for (i = 1;i <= N;++i)
		f >> D[0][i];
	for (i = 1;i <= 18;++i)
		for (j = 1;j <= N;++j)
			D[i][j] = D[i - 1][D[i - 1][j]];
	int Q, P, S;
	for (i = 1;i <= M;++i)
	{
		f >> Q >> P;
		e = Q;
		for (j = 0;j <= 18;++j, P >>= 1)
			if (P & 1)
				e = D[j][e];
		g << e << '\n';

	}
	return 0;
}