Pagini recente » Cod sursa (job #373312) | Cod sursa (job #660529) | Cod sursa (job #273544) | Cod sursa (job #1654979) | Cod sursa (job #758758)
Cod sursa(job #758758)
#include <fstream>
using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");
int a[25][250100];
int querry(int membru, int ordn)
{
int i;
i=0;
while (ordn!=0&&membru!=0){
if (ordn&1)
membru=a[i][membru];
ordn>>=1;
i++;
}
return membru;
}
int main(){
int n,m,i,j,x,y,l;
in>>n>>m;
x=1; y=0;
/*while (x<m)
{
x=x*2;
y++;
}*/
//y++;
for (i=1;i<=n;i++)
in>>a[0][i];
for (i=1;i<=18;i++)
for (j=1;j<=n;j++)
a[i][j]=a[i-1][a[i-1][j]];
for (l=1;l<=m;l++)
{
in>>x>>y;
out<<querry(x,y)<<"\n";
}
return 0;
}