Cod sursa(job #2121016)

Utilizator vancea.catalincatalin vancea.catalin Data 3 februarie 2018 11:10:27
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include<iostream>
#include<fstream>
#include<vector>

using namespace std;
fstream fin("stramosi.in",ios::in), fout("stramosi.out",ios::out);
int n,m;
int dp[20][250100];

int main()
{
	int i,j,p,q,bit;
	fin>>n>>m;
	for(i=1;i<=n;i++)
	{
		fin>>dp[0][i];
	}
	for(i=1;(1<<i)<=n;i++)
	{
		for(j=1;j<=n;j++)
		{
			dp[i][j]=dp[i-1][dp[i-1][j]];
		}
	}
	
	
	for(i=1;i<=m;i++)
	{
		fin>>p>>q;
		for(bit=0;(1<<bit)<=n;bit++)
		{
			if((q&(1<<bit))!=0)
			{
				p=dp[bit][p];
			}
		}
		fout<<p<<"\n";
	}
	
}