Pagini recente » Cod sursa (job #320448) | Cod sursa (job #1451580) | Cod sursa (job #3255254) | Cod sursa (job #2069539) | Cod sursa (job #1076636)
#include <fstream>
#include<iostream>
using namespace std;
#define MAXN 250001
#define MAXLOGN 18
int a[MAXLOGN][MAXN];
int main(){
ifstream f("stramosi.in");
ofstream o("stramosi.out");
int n, m;
f >> n >> m;
int p, q;
for (int i = 1; i <= n; i++){
f >> a[0][i];
}
for (int i = 1; i < MAXLOGN; i++){
for (int j = 1; j <= n; j++)
a[i][j] = a[i - 1][a[i - 1][j]];
for (int i = 0; i<m; i++){
f >> q >> p;
for (int k = 17; k >= 0 && q>0; k--)
if (p & (1 << k))
q = a[k][q];
o << q << '\n';
}
}
return 0;
}