Pagini recente » Cod sursa (job #2612459) | Cod sursa (job #2286350) | Cod sursa (job #120997) | Istoria paginii runda/runda_4_petrica_se_balbaie_la_miting/clasament | Cod sursa (job #2679149)
#include <fstream>
#include <vector>
using namespace std;
const int NMAX = 250000;
const int LOG = 17;
int stramosi[1 + LOG][1 + NMAX];
int main()
{
ifstream in("stramosi.in");
ofstream out("stramosi.out");
int n, m;
in >> n >> m;
for (int i = 1; i <= n; i++)
{
in >> stramosi[0][i];
}
for (int putere = 1; putere <= LOG; putere++)
{
for (int i = 1; i <= n; i++)
{
stramosi[putere][i] = stramosi[putere - 1][stramosi[putere - 1][i]];
}
}
for (int i = 1; i <= m; i++)
{
int q, p;
in >> q >> p;
for (int putere = 0; (1 << putere) <= p; putere++)
{
if ((1 << putere) & p)
{
q = stramosi[putere][q];
}
}
out << q << '\n';
}
return 0;
}