Pagini recente » Cod sursa (job #2117086) | Cod sursa (job #2710272) | Cod sursa (job #2972320) | Cod sursa (job #759553) | Cod sursa (job #1078877)
#include <fstream>
#include <vector>
#include <cmath>
using namespace std;
ifstream cin("stramosi.in");
ofstream cout("stramosi.out");
const int n_max=250001;
const int log_n_max=18;
int n, m, i, j, q, p, k, s[log_n_max][n_max];
int main()
{
cin>>n>>m;
for(j=1; j<=n; j++)
cin>>s[0][j];
k=log2(n);
for(i=1; i<=k; i++)
for(j=1; j<=n; j++)
s[i][j]=s[i-1][s[i-1][j]];
while(m--)
{
cin>>q>>p;
for(i=0; i<=k && q; i++)
if(p & (1<<i))
q=s[i][q];
cout<<q<<'\n';
}
return 0;
}