Cod sursa(job #2904496)

Utilizator Mustatoiu-Ioan-SebastianMustatoiu Ioan-Sebastian Mustatoiu-Ioan-Sebastian Data 17 mai 2022 23:49:15
Problema Stramosi Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <bits/stdc++.h>
 
using namespace std;
 
int a[20][250001];
 
void Build_a(int n)
{
	for (int j = 1; j<=19; ++j)
		for (int i = 1; i<=n; ++i)
			a[j][i] = a[j-1][a[j-1][i]];
}
void Query (int& x, int count)
{
	for (int i = 19; i>=0; --i)
		if (count >= (1<<i))			
		{
			count -= (1<<i);
			x = a[i][x];
		}
}
int main(int argc, char const *argv[])
{
	ifstream in ("stramosi.in");
	ofstream out ("stramosi.out");
	int n, m;
	in >> n >> m;
	for (int i = 1; i<=n; ++i)
		in >> a[0][i];
	Build_a(n);
	for (int i = 1; i<=m; ++i)
	{
		int x, count;
		in >> x >> count;
		Query(x, count);
		out << x << '\n';
	}
	return 0;
}