Pagini recente » Cod sursa (job #2570042) | Cod sursa (job #2737615) | Cod sursa (job #1868155) | Cod sursa (job #1602621) | Cod sursa (job #2786528)
#include <bits/stdc++.h>
#define din cin
#define dout out
#define pi 3.14159265359
#define sw(x,y) x^=y,y^=x,x^=y
#define bmin(a,b)((a<b)?(a):(b))
#define bmax(a,b)((a>b)?(a):(b))
#define ll long long
using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");
int n,m,a[20][250001],i,j,k=1;
int main()
{
in>>n>>m;
for(i=1;i<=n;i++)
in>>a[0][i];
for(j=1;k;j++)
{
k=0;
for(i=1;i<=n;i++)a[j][i]=a[j-1][a[j-1][i]],k|=a[j][i];
}
while(m--)
{
in>>i>>j,k=-1;
while(j>=(1<<(++k)))
if(j&(1<<k))
i=a[k][i];
out<<i<<'\n';
}
}