Pagini recente » Cod sursa (job #957953) | Cod sursa (job #2383674) | Cod sursa (job #1632652) | Cod sursa (job #2241710) | Cod sursa (job #2941541)
#include <fstream>
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int n,q,nod,nr,p,d[19][250001];
int main() {
fin>>n>>q;
for (int i=1;i<=n;i++)
fin>>d[0][i];
for (int i=1;i<=18;i++)
for (int j=1;j<=n;j++)
d[i][j]=d[i-1][d[i-1][j]];
while (q--) {
fin>>nod>>nr;
p=0;
while (nr!=0) {
if (nr%2!=0)
nod=d[p][nod];
p++;
nr/=2;
}
fout<<nod<<"\n";
}
return 0;
}