Pagini recente » Borderou de evaluare (job #2020746) | Borderou de evaluare (job #2409507) | Borderou de evaluare (job #2784079) | Borderou de evaluare (job #1257684) | Cod sursa (job #1454055)
#include<fstream>
using namespace std;
int str[23][100003];
int n,i,j,m,a,nr;
int main()
{
ifstream cin("stramosi.in");
ofstream cout("stramosi.out");
cin >> n >> m;
for(i=1;i<=n;i++) cin >> str[0][i];
for (i=1;i<=20;i++)
for (j=1;j<=n;j++)
str[i][j] = str[i-1][str[i-1][j]];
while (m--)
{
cin >> a >> nr;
for (i=0;i<=20;i++)
if (nr&(1<<i))
a = str[i][a];
cout << a << "\n";
}
return 0;
}