Cod sursa(job #2503391)

Utilizator ardutgamerAndrei Bancila ardutgamer Data 2 decembrie 2019 23:23:57
Problema Stramosi Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#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;
}