Pagini recente » Cod sursa (job #2694926) | Cod sursa (job #505444) | Cod sursa (job #3192478) | Cod sursa (job #2672209) | Cod sursa (job #1758075)
#include <fstream>
int d[250001][20];
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
//d[i][j]=al 2^j-lea stramos al lui i
int main(){
int i,j,n,m,p,q;
f >> n >> m;
for(i=1;i <= n;i++)
f>>d[i][0];
for(i=1;i <= n;i++)
for(j=1;(1<<j) <= n;j++)
d[i][j] = d[d[i][j-1]][j-1];
for(i=1;i <= m;i++){
f >> q >> p;
for(j=0; (1<<j) <= p && q > 0; j++)
if(( (1<<j) & p))
q = d[q][j];
g << q << '\n';
}
f.close();
g.close();
return 0;
}