Pagini recente » Cod sursa (job #1118873) | Cod sursa (job #2085026) | Cod sursa (job #727842) | Cod sursa (job #2540568) | Cod sursa (job #1862671)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
#define lim 250020
int n,m,dp[20][lim];
int main()
{
int nod,lev;
fin>>n>>m;
for(int i=1; i<=n; i++)
fin>>dp[0][i];
for(int p=1; (1<<p)<=n; p++)
for(int i=1; i<=n; i++)
dp[p][i]=dp[p-1][dp[p-1][i]];
for(int i=1; i<=m; i++)
{
fin>>nod>>lev;
for(int p=0; (1<<p)<=lev; p++)
if(lev&(1<<p))
nod=dp[p][nod];
fout<<nod<<'\n';
}
fin.close();
fout.close();
return 0;
}