Pagini recente » Cod sursa (job #1599060) | Cod sursa (job #809993) | Cod sursa (job #2945050) | Monitorul de evaluare | Cod sursa (job #1222860)
#include<fstream>
using namespace std;
ifstream cin("stramosi.in");
ofstream cout("stramosi.out");
const int nmax = 250010;
int n,m,i,j,str[19][nmax];
int main()
{
cin>>n>>m;
for (i=1;i<=n;i++) cin>>str[0][i];
for (i=1;i<=18;i++)
for (j=1;j<=n;j++)
str[i][j]=str[i-1][str[i-1][j]];
while (m--) {
int a,b;
cin>>a>>b;
for (i=18;i>=0;i--)
if (b&(1<<i))
a=str[i][a];
cout<<a<<"\n";
}
return 0;
}