Pagini recente » Cod sursa (job #622079) | Cod sursa (job #917943) | Monitorul de evaluare | Cod sursa (job #1611989) | Cod sursa (job #1696875)
#include <fstream>
#include <iostream>
int v[250001][19],n,m,i,j,k,l,sol;
using namespace std;
fstream f,g;
int main()
{
f.open("stramosi.in",ios_base::in);
g.open("stramosi.out",ios_base::out);
f>>n>>m;
for(i=1;i<=n;i++)f>>v[i][0];
for(i=1;i<=18;i++)for(j=1;j<=n;j++)v[j][i]=v[v[j][i-1]][i-1];
for(i=1;i<=m;i++)
{
f>>sol>>k;
//sol id, k grad stramos
for(j=0,l=1;l<=k;j++,l*=2)if(l&k)sol=v[sol][j];
g<<sol<<'\n';
}
}