Pagini recente » Cod sursa (job #946451) | Cod sursa (job #1395788) | Cod sursa (job #1365753) | Cod sursa (job #82939) | Cod sursa (job #1045651)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int str[20][250001];
int main()
{
ifstream f("stramosi.in");
ofstream g("stramosi.out");
int n,m,i,j,p,q,maxi;
f>>n>>m;
for(i=1;i<=n;i++)
f>>str[0][i];
i=1;
while((1<<i)<=n)
{
for(j=1;j<=n;j++)
str[i][j]=str[i-1][str[i-1][j]];
i++;
}
for(i=1;i<=m;i++)
{
f>>p>>q;
while(q>0)
{
maxi=log2(q);
p=str[maxi][p];
q=q-(1<<maxi);
}
g<<p<<'\n';
}
f.close();
g.close();
return 0;
}