Pagini recente » Cod sursa (job #1413967) | Cod sursa (job #1263179) | Cod sursa (job #1475102) | Cod sursa (job #2562499) | Cod sursa (job #733077)
Cod sursa(job #733077)
//1321:1344
//Timp: 23 min
#include <fstream>
#define logN 20
#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;(1<<i)<=N;++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;
}