Pagini recente » Cod sursa (job #1543661) | Cod sursa (job #2119251) | Cod sursa (job #1064195) | Cod sursa (job #3153061) | Cod sursa (job #3297818)
#include <bits/stdc++.h>
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
const int N_MAX=250005;
int a[20][N_MAX];
int N,M;
int t[N_MAX];
int main(){
f>>N>>M;
for(int i=1;i<=N;i++)
f>>t[i];
int P,Q;
for(int i=0;i<=19;i++){
if(i==0){
for(int j=1;j<=N;j++)
a[i][j]=t[j];
}
else{
for(int j=1;j<=N;j++)
a[i][j]=a[i-1][a[i-1][j]];
}
}
for(int i=1;i<=M;i++){
f>>Q>>P;
int e=0;
while(P){
if(P&1){
Q=a[e][Q];
}
e++;
P>>=1;
}
g<<Q<<endl;
}
return 0;
}