Pagini recente » Cod sursa (job #50015) | Cod sursa (job #580620) | Cod sursa (job #1598127) | Cod sursa (job #1421951) | Cod sursa (job #915908)
Cod sursa(job #915908)
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int j,i,n,m,a[20][250010],x,y;
int main(){
fin>>n>>m;
for (i=1;i<=n;i++) fin>>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)
{
fin>>x>>y;
for (i=0;y>0;i++)
if ((y & 1<<i)>0)
{
x=a[i][x];
y-=1<<i;
}
fout<<x<<'\n';
m--;
}
return 0;
}