Pagini recente » Cod sursa (job #884251) | Cod sursa (job #341920) | Cod sursa (job #1214330) | Cod sursa (job #2814141) | Cod sursa (job #3265352)
#include <fstream>
using namespace std;
int dp[250005][20];
int main(){
int n, q, i, j, x, y;
ifstream fin( "stramosi.in" );
ofstream fout( "stramosi.out" );
fin >> n >> q;
for( i = 1; i <= n; i++ ){
fin >> dp[i][0];
}
for( i = 0; i <= n; i++ ){
for( j = 1; j < 20; j++ ){
dp[i][j] = dp[dp[i][j - 1]][j - 1];
}
}
for( i = 0; i < q; i++ ){
fin >> x >> y;
j = 0;
while( y > 0 ){
if( y % 2 == 1 ){
x = dp[x][j];
}
y /= 2;
j++;
}
fout << x << '\n';
}
return 0;
}