Pagini recente » Cod sursa (job #33636) | Cod sursa (job #1830136) | Cod sursa (job #2910830) | Cod sursa (job #257475) | Cod sursa (job #811433)
Cod sursa(job #811433)
#include<fstream>
using namespace std;
int a[19][250001];
int n,m,i,l,x,p,q,nod,ord;
int main()//18=log(2,2500000),se cere stramosul de ordin ord al lui nod
{
ifstream f("stramosi.in");ofstream g("stramosi.out");
f>>n>>m;
for(i=1;i<=n;++i)
f>>a[0][i];
for(l=1;l<=18;l++)
for(i=1;i<=n;i++)
a[l][i]=a[l-1][ a[l-1][i] ];
for(i=1;i<=m;++i)
{
f>>nod>>ord;
l=0;
while(ord>0)
{
if(ord%2!=0)
nod=a[l][nod];
l++;
ord/=2;
}
g<<nod<<'\n';
}
f.close();g.close();
return 0;
}