Pagini recente » Cod sursa (job #394411) | Cod sursa (job #1087357) | Cod sursa (job #868415) | Cod sursa (job #922281) | Cod sursa (job #1845282)
#include <iostream>
#include <fstream>
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;
}