Pagini recente » Cod sursa (job #2931941) | Cod sursa (job #338860) | Cod sursa (job #1179242) | Cod sursa (job #2367158) | Cod sursa (job #1791963)
#include <iostream>
#include<fstream>
#include<math.h>
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
int n,q,i,p,k,r[20][250001],p2,j;
inline void BuildRMQ()
{
int m=log2(n)+1,i,j;
for(i=1; i<m; i++)
for(j=1; j<=n; j++)
r[i][j]=r[i-1][r[i-1][j]];
}
int main()
{
f>>n>>q;
for(i=1; i<=n; i++)
f>>r[0][i];
BuildRMQ();
for(; q; q--)
{
f>>p>>k;//al k lea stramos al lui p
while(p && k)
{
p2=1;
for(j=0;p2*2<=k;j++)
p2*=2;
p=r[j][p];
k-=p2;
}
g<<p<<'\n';
}
}