Pagini recente » Cod sursa (job #2208744) | Cod sursa (job #1530746) | Cod sursa (job #1154246) | Cod sursa (job #2115964) | Cod sursa (job #2060568)
#include <iostream>
#include <fstream>
#define D1 250002
#define D2 20
using namespace std;
int n, m, ma[D2][D1], q, p, s;
int main()
{
ifstream fin ("stramosi.in");
ofstream fout ("stramosi.out");
fin >> n >> m;
for(int i = 1; i <= n; i++)
{
fin >> ma[0][i];
}
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++)
{
ma[i][j] = ma[i - 1][ma[i - 1][j]];
}
}
for(int i = 1; i <= m; i++)
{
fin >> q >> p;
s = q;
for(int j = 0, k = 1; k <= p; k *= 2, j++)
{
if(k & p)
s = ma[j][s];
}
fout << s << "\n";
}
return 0;
}