Pagini recente » Cod sursa (job #1855942) | Cod sursa (job #1328351) | Cod sursa (job #42019) | Cod sursa (job #2884401) | Cod sursa (job #2370575)
#include <vector>
#include <fstream>
#include <iostream>
using namespace std;
int main(){
int n, m, p, q;
fstream f("stramosi.in", fstream::in), g("stramosi.out", fstream::out);
f >> n >> m;
vector<int> stramosi(n);
for(int i = 0; i < n; i++){
f >> stramosi[i];
stramosi[i]--;
}
for(int z = 0; z < m; z++){
f >> q >> p;
q--;
int curNode = stramosi[q];
p--;
while(p){
if(curNode == -1){
g << 0 << endl;
curNode = -2;
break;
}
curNode = stramosi[curNode];
p--;
}
if(curNode != -2){
g << curNode + 1 << endl;
}
}
}