Pagini recente » Cod sursa (job #1822962) | Cod sursa (job #1115603) | Cod sursa (job #940496) | Cod sursa (job #2660214) | Cod sursa (job #733081)
Cod sursa(job #733081)
//1321:1344
//Timp: 23 min
#include <fstream>
#define logN 19
#define maxN 250001
using namespace std;
ifstream in;
ofstream out;
int dp[logN][maxN];
int main()
{
int M,N;
in.open("stramosi.in");
in>>N>>M;
for(int i=1;i<=N;++i) in>>dp[0][i];
for(int i=1;i<logN;++i)
for(int j=1;j<=N;++j)
dp[i][j]=dp[i-1][dp[i-1][j]];
out.open("stramosi.out");
for(int P,Q;M--;)
{
in>>Q>>P;
for(int b=0;P;P>>=1,++b)
if(P&1) Q=dp[b][Q];
out<<Q<<'\n';
}
in.close();
out.close();
return 0;
}