Pagini recente » Cod sursa (job #639751) | Cod sursa (job #2677567) | Cod sursa (job #2349063) | Cod sursa (job #2286943) | Cod sursa (job #1348189)
#include <iostream>
#include <fstream>
using namespace std;
int N,M,dp[250010][20];
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; 18<=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;
}