Pagini recente » Cod sursa (job #1941208) | Cod sursa (job #1026803) | Cod sursa (job #337812) | Cod sursa (job #1724524) | Cod sursa (job #1160010)
#include <fstream>
using namespace std;
ifstream fin ("stramosi.in");
ofstream fout ("stramosi.out");
int n,m,putere,x,y,i,j,s[20][25010],p[25010],b[20];
int main () {
fin>>n>>m;
x=1;
for (i=0;i<=28;i++) {
b[i]=x;
x*=2;
}
x=2;
for (i=1;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;
}