Cod sursa(job #503571)

Utilizator vlad.doruIon Vlad-Doru vlad.doru Data 23 noiembrie 2010 19:38:21
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <fstream>

using namespace std;

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

int n,m,a[20][1<<18];

void prelucrare(){
	int i,j,p,q;
	for(i=1;i<20;i++){
		for(j=1;j<=n;j++){
			a[i][j]=a[i-1][a[i-1][j]];
		}
	}
}

int main(){
	int i,j,q,p;
	in>>n>>m;
	for(i=1;i<=n;i++){
		in>>a[0][i];
	}
	prelucrare();
	for(j=1;j<=m;j++){
		in>>q>>p;
		i=0;
		while(p!=0){
			if(p%2!=0)
				q=a[i][q];
			p=p/2;
			++i;
		}
		out<<q<<"\n";
	}
	return 0;
}