Pagini recente » Rating Maniu Maria Diana (Maniu_Diana) | Cod sursa (job #3267063) | Cod sursa (job #1790081) | Cod sursa (job #1987996) | Cod sursa (job #3122755)
#include <fstream>
#define maxi 250005
using namespace std;
ifstream f("stramosi.in",ios::in);
ofstream g("stramosi.out",ios::out);
int n,m,dp[19][maxi],log2;
void dinamica()
{
int aux=n;
while(aux)
{
log2++;
aux>>=1;
}
log2--;
for(int i=1;i<=log2;i++)
{
for(int j=1;j<=n;j++)
{
dp[i][j]=dp[i-1][dp[i-1][j]];
}
}
}
int main()
{
int x,p,q;
f>>n>>m;
for(int i=1;i<=n;i++)
{
f>>x;
dp[0][i]=x;///starile de baza
}
dinamica();
for(int i=1;i<=m;i++)
{
f>>q>>p;
int ans=q;
for(int j=0;j<=log2;j++)
{
if(p&(1<<j))
{
ans=dp[j][ans];
}
}
g<<ans<<'\n';
}
f.close();
g.close();
return 0;
}