Pagini recente » Cod sursa (job #3335914) | Cod sursa (job #3326669) | Cod sursa (job #3344131) | Cod sursa (job #3343835) | Cod sursa (job #3338346)
#include <bits/stdc++.h>
using namespace std;
#define NMAX 250005
#define PUT 18
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int stramos[NMAX];
int dp[NMAX][PUT];
int n,m,i,j;
int x,y;
int main()
{
ios_base::sync_with_stdio(false);
fin.tie(0);
fin>>n>>m;
for(i=1;i<=n;i++)
{
fin>>stramos[i];
dp[i][0]=stramos[i];
}
for(j=1;j<PUT;j++)
{
for(i=1;i<=n;i++)
{
dp[i][j]=dp[ dp[i][j-1] ][ j-1 ];
}
}
for(i=1;i<=m;i++)
{
fin>>x>>y;
for(j=0;j<PUT;j++)
{
if(y&(1<<j))
x=dp[x][j];
}
fout<<x<<"\n";
}
return 0;
}