Pagini recente » Cod sursa (job #1097872) | Cod sursa (job #3124892) | Cod sursa (job #3262713) | Cod sursa (job #1879755) | Cod sursa (job #2122463)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
int n, m, a[19][250010], q, p, pov, k=0;
int main()
{
int i, j;
f>>n>>m;
for (i=1; i<=n; i++)
f>>a[1][i];
for (i=2; i<=18; i++)
for (j=1; j<=n; j++)
{
a[i][j]=a[i-1][a[i-1][j]];
}
for (i=1; i<=m; i++)
{
f>>q>>p;
while (p>0 && q)
{
pov=1; k=0;
while (pov<=p)
{
pov*=2;
k++;
}
pov/=2; // cout<<pov<<" "<<k<<"; ";
p-=pov;
q=a[k][q];
}
g<<q<<"\n";
}
return 0;
}