Pagini recente » Cod sursa (job #1255768) | Cod sursa (job #2899192) | Cod sursa (job #2227487) | Cod sursa (job #164005) | Cod sursa (job #3171874)
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int stramos[20][(uint64_t)(25e4 + 1)];
int main()
{
int n, m;
fin >> n >> m;
for(int i = 1; i <= n; ++i)
fin >> stramos[0][i];
for(int i = 1; (1 << i) <= n; ++i)
for(int j = 1; j <= n; ++j)
stramos[i][j] = stramos[i - 1][stramos[i - 1][j]];
int nod, p, i;
while(m--)
{
fin >> nod >> p;
i = 0;
while(p)
{
if(p & 1)
nod = stramos[i][nod];
i++;
p >>= 1;
}
fout << nod << '\n';
}
return 0;
}