Pagini recente » Cod sursa (job #1217940) | Cod sursa (job #1552250) | Cod sursa (job #805263) | Cod sursa (job #1393175) | Cod sursa (job #2149935)
#include <iostream>
#include <fstream>
#define MAX 250010
using namespace std;
int n,m,q,p;
int s[MAX][30];
int main()
{
ifstream f ("stramosi.in");
ofstream g ("stramosi.out");
f>>n>>m;
for(int i=1;i<=n;i++)f>>s[i][0];
for(int sp=1;sp<=20;sp++)
for(int i=1;i<=n;i++)
s[i][sp]=s[s[i][sp-1]][sp-1];
for(int i=1;i<=m;i++){
f>>q>>p;
for(int sp=0;p;p/=2,sp++)
if(p%2)q=s[q][sp];
g<<q<<'\n';
}
f.close ();
g.close ();
return 0;
}