Pagini recente » Cod sursa (job #865057) | Cod sursa (job #1257876) | Cod sursa (job #493209) | Cod sursa (job #2632406) | Cod sursa (job #1160013)
#include <fstream>
using namespace std;
ifstream fin ("stramosi.in");
ofstream fout ("stramosi.out");
int n,m,putere,x,y,i,j,s[20][250010],p[250010],b[20];
int main () {
fin>>n>>m;
x=1;
for (i=0;i<=18;i++) {
b[i]=x;
x*=2;
}
x=2;
for (i=0;i<=n;i++) {
if (i==x) {
putere++;
x*=2;
}
p[i]=putere;
}
for (i=1;i<=n;i++)
fin>>s[0][i];
x=2;
for (i=1;x<=n;i++) {
for (j=1;j<=n;j++)
s[i][j]=s[i-1][s[i-1][j]];
x*=2;
}
while (m--) {
fin>>x>>y;
while (y!=0 ) {
x=s[p[y]][x];
y-=b[p[y]];
}
fout<<x<<"\n";
}
return 0;
}