Cod sursa(job #2639553)

Utilizator Gliumarin negai Gliu Data 2 august 2020 18:32:29
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.49 kb
//#include <iostream>
#include <fstream>

using namespace std;

ifstream cin("stramosi.in");
ofstream cout("stramosi.out");
const int NMAX=250099;
long long  n,m,a[30][NMAX],p,q,k;

int main(){
cin >>n>>m;
for(int i=1;i<=n;i++) cin>>a[0][i];

for(int i=1;(1<<i)<=n;i++){
	for(int j=1;j<=n;j++){
		a[i][j]=a[i-1][a[i-1][j]];	
	}
}
while(m--){
	cin >>q>>p;
	int flag=0;
	while(p){
		if(p %2==1)
		  q=a[flag][q];
		  flag++;
		p/=2;
	}
	cout <<q<<"\n";
}
return 0;
}