Pagini recente » Cod sursa (job #2724152) | Cod sursa (job #1876101) | Cod sursa (job #1549781) | Cod sursa (job #1595330) | Cod sursa (job #1377660)
#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;
int main()
{
int n,c,q,p,i;
FILE *f,*g;
f = fopen("stramosi.in","r");
g = fopen("stramosi.out","w");
fscanf(f,"%d %d",&n,&c);
int v[n+1];
vector <int>s[n+1];
for (i=1;i<=n;i++) fscanf(f,"%d",&v[i]);
for (i=1;i<=n;i++) {
p = i;
q = 1;
while (p) {
s[i].push_back(v[p]);
p = v[p];
}
}
for (i=1;i<=c;i++) {
fscanf(f,"%d %d",&q,&p);
if ((unsigned)p >= s[q].size()) fprintf(g,"%d\n",0);
else fprintf(g,"%d\n",s[q][p-1]);
}
return 0;
}