Pagini recente » Cod sursa (job #2542117) | Cod sursa (job #2874429) | Cod sursa (job #1907816) | Cod sursa (job #2567970) | Cod sursa (job #2567445)
#include <fstream>
#include <vector>
#include <cmath>
#define nmax 250001
using namespace std;
int stramosi[20][nmax];
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int main() {
int n, m, i, x, j,p,q;
Long long int t;
fin >> n >> m;
for(i = 1; i <= n; ++i)
{
fin >> stramosi[0][i];
}
for(i = 1; i <= 19; ++i)
for(j = 1; j <= n; ++j)
stramosi[i][j] = stramosi[i - 1][stramosi[i-1][j]];
for(i = 1; i <= m; ++i){
fin >> q >> p;
for(j = 0; t = (1 << j), t<= p; ++j)
if(t & p)
q = stramosi[j][q];
fout << q << '\n';
}
return 0;
}