Cod sursa(job #2504159)

Utilizator mariamirabella2Bucur-Sabau Maria-Mirabela mariamirabella2 Data 4 decembrie 2019 16:16:26
Problema Stramosi Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.44 kb
#include <fstream>
using namespace std;

ifstream cin("stramosi.in");
ofstream cout("stramosi.out");

int n,q,d[250001][18],a,b;

int main()
{
	cin>>n>>q;
	ios_base::sync_with_stdio(false);
	for(int i=1;i<=n;i++)
		cin>>d[i][0];
	for(int k=1;k<=17;k++){
		for(int i=1;i<=n;i++){
			d[i][k]=d[d[i][k-1]][k-1];
		}
	}
	while(q--){
		cin>>a>>b;
		for(int i=17;i>=0;i--)
			if ( (b & (1 <<i)) == (1 << i)) {
				a=d[a][i];
			} 
		cout<<a<<'\n';
	}
}