Pagini recente » Cod sursa (job #1892797) | Cod sursa (job #783644) | Cod sursa (job #1414750) | Cod sursa (job #333503) | Cod sursa (job #312296)
Cod sursa(job #312296)
#include <iostream>
#include <fstream>
using namespace std;
#define MAXP 18
int n,m;
int q,p;
int stram[250001][MAXP];
int pows[MAXP];
int main() {
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
fin>>n>>m;
pows[0]=1;
for (int i=1;i<MAXP;i++)
pows[i]=pows[i-1]*2;
for (int i=1;i<=n;i++)
fin>>stram[i][0];
stram[0][0]=0;
/*for (int i=1;i<MAXP;i++) {
for (int j=0;j<=n;j++) {
stram[j][i]=stram[stram[j][i-1]][i-1];
}
}*/
for (int i=0;i<m;i++) {
fin>>q>>p;
/*for (int pi = MAXP -1;pi>=0;pi--) {
if (p>=pows[pi]) {
p-=pows[pi];
q=stram[q][pi];
}
}*/
fout<<q<<endl;
}
fin.close();
fout.close();
return 0;
}