Pagini recente » Cod sursa (job #3326883) | Cod sursa (job #3308693) | Atasamentele paginii Profil otiliaa | Cod sursa (job #3355844) | Cod sursa (job #3322124)
#include <bits/stdc++.h>
#define mod 9901
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
/// dp[i][j] = al 2 la puterea i lea stramos al lui j
int n,m;
int dp[19][250002];
int main()
{
fin>>n>>m;
for(int i=1;i<=n;++i)
{
fin>>dp[0][i];
}
///a<<b = a*(2^b) 1<<b = 2^b
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]];
}
for(int i=1;i<=m;++i)
{
int x,y;
fin>>x>>y;
int str=x;
for(int j=0;(1<<j)<=y;++j)
if((1<<j) & y)
str=dp[j][str];
fout<<str<<'\n';
}
}