Cod sursa(job #983019)

Utilizator AeroHHorea Stefan AeroH Data 10 august 2013 17:23:29
Problema Stramosi Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.44 kb
#include <fstream>
#define ll long long int
using namespace std;
ifstream cin("stramosi.in");
ofstream cout("stramosi.out");
int i,j,p,e,n,m;
int v[300002][30];
int main()
{
cin>>n>>m;
for(i=1;i<=n;++i) cin>>v[i][1];

for(i=1;i<=n;++i)
for(j=2;j<=30;++j)
v[i][j]=v[v[i][j-1]][1];

for(i=1;i<=m;++i)
{
    cin>>p>>e;
    while(e>30)
    {
        e-=30;
        p=v[p][30];
    }
    cout<<v[p][e]<<'\n';
}
return 0;
}