Pagini recente » Cod sursa (job #594282) | Cod sursa (job #1151157) | Cod sursa (job #1600299) | Cod sursa (job #170427) | Cod sursa (job #3132527)
#include <iostream>
#include <fstream>
int stramosi[250001][18];
int main(){
std::ifstream f("stramosi.in");
std::ofstream g("stramosi.out");
int n, m;
f >> n >> m;
for(int i = 1; i <= n; i++)
f >> stramosi[i][0];
for(int i = 1; i <= n; i++)
for(int j = 1; j < 18; j++)
stramosi[i][j] = stramosi[stramosi[i][j - 1]][j - 1];
for(int i = 0; i < m; i++){
int nod, stramos;
f >> nod >> stramos;
for(int j = 0; j < 18 && nod != 0; j++)
if(stramos & (1 << j))
nod = stramosi[nod][j];
g << nod << '\n';
}
return 0;
}