Pagini recente » Cod sursa (job #1592180) | Cod sursa (job #1150206) | Cod sursa (job #2474302) | Cod sursa (job #3285610) | Cod sursa (job #2910512)
#include <fstream>
using namespace std;
ifstream cin("stramosi.in");
ofstream cout("stramosi.out");
int v[250005];
int mat[20][250005];
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>mat[0][i];
}
for(int i=1;(1<<i)<=n;i++)
{
for(int j=1;j<=n;j++)
{
mat[i][j]=mat[i-1][mat[i-1][j]];
}
}
int a,b;
for(int i=1;i<=m;i++)
{
cin>>a>>b;
int ex=0;
while(b>0)
{
if(b%2==1)
{
a=mat[ex][a];
}
ex++;
b/=2;
}
cout<<a<<'\n';
}
return 0;
}