Pagini recente » Cod sursa (job #178396) | Cod sursa (job #108624) | Cod sursa (job #1775409) | Cod sursa (job #2530769) | Cod sursa (job #850876)
Cod sursa(job #850876)
#include <fstream>
#include <iostream>
using namespace std;
ifstream fi("stramosi.in");
ofstream fo("stramosi.out");
int j,i,n,m,a[20][250010],x,y;
int main(){
fi >> n >> m;
for (i=1; i<=n; i++) fi >> a[0][i];
for (i=1; i<=17; i++)
for (j=1; j<=n; j++)
a[i][j]=a[i-1][a[i-1][j]];
while (m) {
fi >> x >> y;
for (i=0; y>0; i++)
if ((y & 1<<i)>0){
x=a[i][x];
y-=1<<i;
}
fo << x << "\n";
m--;
}
return 0;
}