Pagini recente » Cod sursa (job #2358235) | Cod sursa (job #2053413) | Cod sursa (job #2097051) | Cod sursa (job #1665600) | Cod sursa (job #655759)
Cod sursa(job #655759)
#include <fstream>
using namespace std;
int n, m, a[21][251000], nod, str, sol;
int main()
{
ifstream f("stramosi.in");
ofstream g("stramosi.out");
f >> n >> m;
for (int i = 1; i <= n; ++i)
f >> a[0][i];
for (int i = 1; i <= 20; ++i)
for (int j = 1; j <= n; ++j)
a[i][j] = a[i - 1][a[i - 1][j]];
for (int i = 1; i <= m; ++i)
{
f >> nod >> str;
sol = nod;
int nr = 0;
while (str > 0 && sol)
{
if (str & 1)
sol = a[nr][sol];
++nr;
str >>= 1;
}
g << sol << '\n';
}
g.close();
return 0;
}