Pagini recente » Cod sursa (job #2092847) | Cod sursa (job #874354) | Cod sursa (job #1240362) | Cod sursa (job #1118996) | Cod sursa (job #312284)
Cod sursa(job #312284)
#include <iostream>
#include <fstream>
using namespace std;
int n,m;
int q,p,st;
int stram[250001];
int stram10[250001];
int main() {
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
fin>>n>>m;
for (int i=1;i<=n;i++)
fin>>stram[i];
for (int i=1;i<=n;i++) {
st = i;
for (int j=0;j<10;j++)
st = stram[st];
stram10[i]=st;
}
stram[0]=0;
stram10[0]=0;
for (int i=0;i<m;i++) {
fin>>q>>p;
int j = 0;
while ((p-j)>10) {
q=stram10[q];
j+=10;
}
while (j<p) {
q=stram[q];
j++;
}
fout<<q<<endl;
}
fin.close();
fout.close();
return 0;
}