Pagini recente » Cod sursa (job #2944063) | Cod sursa (job #1581254) | Cod sursa (job #2561462) | Cod sursa (job #1878039) | Cod sursa (job #2904795)
#include <bits/stdc++.h>
using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");
int matrice[20][250001];
int main()
{
int nrStramosi, pStramos;
in >> nrStramosi >> pStramos;
for (int i = 1; i <= nrStramosi; i++){
in >> matrice[0][i];
}
for(int i = 1; i<= 18; i++)
for(int j = 1; j <= nrStramosi; j++)
matrice[i][j] = matrice[i-1][matrice[i-1][j]];
for (int i = pStramos; i > 0; i--)
{
int curent, distanta, exponent = 0;
in >> curent >> distanta;
for (int j = distanta; j > 0; j--)
{
if (distanta % 2 == 1)
curent = matrice[exponent][curent];
exponent ++;
distanta = distanta/2;
}
out << curent << '\n';
}
return 0;
}