Pagini recente » Cod sursa (job #1671821) | Cod sursa (job #1712024) | Cod sursa (job #3199405) | Cod sursa (job #405496) | Cod sursa (job #3263419)
#include <bits/stdc++.h>
using namespace std;
#define TITLE "stramosi"
ifstream f (TITLE".in");
ofstream g (TITLE".out");
int n,q;
int dp[20][250001];
int Stramos(int Node, int Depth)
{
int i=0;
while(Depth)
{
if(Depth&1)
Node=dp[i][Node];
Depth>>=1;
i++;
}
return Node;
}
int main()
{
f>>n>>q;
for(int i=1; i<=n; i++)
f>>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]];
while(q--)
{
int Node, Depth;
f>>Node>>Depth;
g<<Stramos(Node,Depth)<<'\n';
}
return 0;
}