Cod sursa(job #1696701)

Utilizator GabiTulbaGabi Tulba-Lecu GabiTulba Data 29 aprilie 2016 17:31:29
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <fstream>

using namespace std;

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

int n,m,k[18][250001]={},num,pw,anc;
void Read()
{
	in>>n>>m;
	for(int i=1;i<=n;i++)
		in>>k[0][i];
	for(int i=1;(1<<i)<=n;i++)
		for(int j=1;j<=n;j++)
			k[i][j]=k[i-1][k[i-1][j]];
}
void answer()
{
	in>>num>>anc;
	int pw=0;
	while(anc!=0)
	{
		if(anc%2)
			num=k[pw][num];
		anc/=2;
		pw++;	
	}
	out<<num<<'\n';
}
int main()
{
	Read();
	for(int i=1;i<=m;i++)
		answer();
	return 0;
}