Pagini recente » Diferente pentru implica-te/arhiva-educationala intre reviziile 223 si 170 | Cod sursa (job #2853526) | Clasament FMI No Stress 6 | Cod sursa (job #1878497) | Cod sursa (job #2904805)
#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]];
while (pStramos --)
{
int curent, distanta, exponent = 0;
in >> curent >> distanta;
while (distanta > 0)
{
if (distanta % 2 == 1)
curent = matrice[exponent][curent];
exponent ++;
distanta = distanta/2;
}
out << curent << '\n';
}
return 0;
}