Pagini recente » Cod sursa (job #1393105) | Cod sursa (job #1902420) | Cod sursa (job #1968850) | Cod sursa (job #990834) | Cod sursa (job #1976327)
#include <cstdio>
using namespace std;
int d[250005][20];
int main()
{
freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
int n, m; scanf("%d%d", &n, &m);
for(int i = 1; i <= n; ++i)
scanf("%d", &d[i][0]);
for(int j = 1; j <= 17; ++j)
for(int i = 1; i <= n; ++i)
d[i][j] = d[d[i][j-1]][j-1];
for(int i = 1; i <= m; ++i)
{
int a, b; scanf("%d%d", &a, &b);
/// b-lea stramos al lui a
for(int j = 0; j <= 17; ++j)
{
if((1<<j)&b)
a = d[a][j];
}
printf("%d\n",a);
}
return 0;
}