Pagini recente » Cod sursa (job #494821) | Cod sursa (job #74960) | Cod sursa (job #1591675) | Cod sursa (job #1075841) | Cod sursa (job #2363620)
#include<fstream>
using namespace std;
ifstream cin("stramosi.in");
ofstream cout("stramosi.out");
int str[250005],dp[250005][25];
int N,M,Q,P,p,nr;
int main(){
ios_base::sync_with_stdio(false);
cin>>N>>M;
for(int i=1;i<=N;i++)
cin>>str[i];
for(int i=1;i<=N;i++)
dp[i][0]=str[i];
for(int k=1;k<=20;k++)
for(int i=1;i<=N;i++)
dp[i][k]=dp[dp[i][k-1]][k-1];
for(int i=1;i<=M;i++){
cin>>Q>>P;
for(p=1,nr=0;p<=P;p<<=1,++nr)
if(P&p)
Q=dp[Q][nr];
cout<<Q<<'\n';
}
}