Pagini recente » Cod sursa (job #1574134) | Cod sursa (job #1346232) | Cod sursa (job #2239864) | Cod sursa (job #2449069) | Cod sursa (job #1792871)
#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(j = 1; j <= LOG; j ++)
for(i = 1; i <= n; i ++)
rmq[j][i] = rmq[j - 1][rmq[j - 1][i]];
for(i = 1; i <= m; i ++){
f>>q>>p;
for(j = LOG; j >= 0; j--)
if(p & (1 << j))
q = rmq[j][q];
g<<q<<'\n';
}
return 0;
}