Pagini recente » Cod sursa (job #52084) | Cod sursa (job #2919683) | Cod sursa (job #1261880) | Cod sursa (job #1232574) | Cod sursa (job #3120738)
#include <fstream>
using namespace std;
ifstream cin ("stramosi.in");
ofstream cout ("stramosi.out");
int tata[250010],stramos[25][250010];
int main()
{
int n,q,i,p,x,k;
cin>>n>>q;
for (i=1; i<=n; i++)
{
cin>>tata[i];
stramos[0][i]=tata[i];
}
for (p=1; p<20; p++)
for (i=1; i<=n; i++)
stramos[p][i]=stramos[p-1][stramos[p-1][i]];
for (i=1; i<=q; i++)
{
cin>>x>>k;
for (p=0; p<20; p++)
if ((k&(1<<p))!=0)
x=stramos[p][x];
cout<<x<<"\n";
}
return 0;
}