Pagini recente » Clasament dupa rating | Cod sursa (job #890056) | Cod sursa (job #102942) | Cod sursa (job #2038540) | Cod sursa (job #2016093)
#include <fstream>
#define DIM 250001
using namespace std;
ifstream fi("stramosi.in");
ofstream fo("stramosi.out");
int A[30][DIM];
int n,m;
int stramos(int q,int p)
{
int rez=q;
for(int i=30;i>=0;i--)
if(p&(1<<i))
rez=A[i][rez];
return rez;
}
int main()
{
fi>>n>>m;
for(int i=1;i<=n;i++)
fi>>A[0][i];
for(int i=1;1<<i<=n;i++)
for(int j=1;j<=n;j++)
A[i][j]=A[i-1][A[i-1][j]];
for(int i=1;i<=m;i++)
{
int q,p;
fi>>q>>p;
fo<<stramos(q,p)<<"\n";
}
fi.close();
fo.close();
return 0;
}