Pagini recente » Cod sursa (job #378082) | Cod sursa (job #94543) | Cod sursa (job #1590745) | Cod sursa (job #1069743) | Cod sursa (job #1792889)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 250000;
const int LOG = 18;
int rmq[LOG + 5][NMAX + 5];
int main(){
ifstream f("stramosi.in");
ofstream g("stramosi.out");
int n, m, i, j, p, q;
f>>n>>m;
for(i = 1; i <= n; i ++)
f>>rmq[0][i];
for(i = 1; i <= LOG; i ++)
for(j = 1; j <= n; j ++)
rmq[i][j] = rmq[i - 1][rmq[i - 1][j]];
for(; m; m--){
f>>q>>p;
for(i = LOG; i >= 0; i--)
if(p & (1 << i))
q = rmq[i][q];
g<<q<<'\n';
}
return 0;
}