Pagini recente » Cod sursa (job #2137366) | Istoria paginii utilizator/ana-malina | Cod sursa (job #845846) | Cod sursa (job #547514) | Cod sursa (job #1210969)
#include <fstream>
using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");
const int nmax = 250001 , lognmax = 18;
int n , m , nr , d[lognmax][nmax];
int main()
{
int i , j , q , p , k;
in >> n >> m;
nr = 0;
for(i = 1 ; i <= n ; i++)
{
in >> q;
d[0][i] = q;
}
for(i = 1 ; i < lognmax ; i++)
for(j = 1 ; j <= n ; j++)
d[i][j] = d[i - 1][d[i - 1][j]];
for(i = 1 ; i <= m ; i++)
{
in >> q >> p;
k = 0;
while(p != 0)
{
if(p & 1)
q = d[k][q];
p >>= 1;
k++;
}
out << q << '\n';
}
return 0;
}