Pagini recente » Cod sursa (job #968696) | Cod sursa (job #1360004) | Cod sursa (job #2521015) | Cod sursa (job #3166360) | Cod sursa (job #1348203)
#include <iostream>
#include <fstream>
using namespace std;
int N,M,dp[20][250010];
int main(){
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
fin >> N >> M;
int i,j,x,l;
for (i=1; i<=N; i++) fin >> dp[0][i];
for (i=1; (1<<i)-1<=N; i++)
for (j=1; j<=N; j++)
dp[i][j]=dp[i-1][dp[i-1][j]];
for (i=1; i<=M; i++){
fin >> x >> l;
for (j=0; (1<<j)<=l; j++)
if (l&(1<<j)) x=dp[j][x];
fout << x << "\n";
}
return 0;
}