Pagini recente » Cod sursa (job #2655731) | Cod sursa (job #546872) | Cod sursa (job #1342595) | Cod sursa (job #1500513) | Cod sursa (job #1730385)
#include <fstream>
#include <iostream>
#define NMAX 250010
#include <vector>
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
vector<int> stramosi[NMAX];
int main()
{
int j,p,q,n,m,v[NMAX];
f >> n >> m;
for(int i=1;i<=n;i++)
f >> v[i];
for(int i=1;i<=n;i++){
for(j=i;j;j=v[j])
stramosi[i].push_back(j);
stramosi[i].push_back(0);
}
for(int i=1;i<=m;i++){
f >> p >> q;
int col = min(q,((int)stramosi[p].size())-1);
g << stramosi[p][col] << "\n";
}
return 0;
}