Pagini recente » Cod sursa (job #2172398) | Cod sursa (job #2082541) | Cod sursa (job #227238) | Cod sursa (job #3173134) | Cod sursa (job #554019)
Cod sursa(job #554019)
#include<fstream>
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int n, m;
int v[20][250001], i, j;
int niv, w = 1, x, y;
int main()
{
fin >> n >> m;
for(i = 1;i <= n; ++i)
fin >> v[0][i];
for(niv = 1; w ; niv++)
{
w=0;
for(i = 1;i <= n; i++)
{
v[niv][i] = v[niv-1][v[niv-1][i]];
if(v[niv][i])
w = 1;
}
}
for(i = 1;i <= m;i++)
{
fin >> x >> y;
niv = 1;
while( y )
{
if( y%2 == 1)
x=v[niv-1][x];
niv++;
y /= 2;
}
fout << x << '\n';
}
fin.close();
fout.close();
return 0;
}