Pagini recente » Cod sursa (job #3291137) | Cod sursa (job #1015246) | Cod sursa (job #474267) | Cod sursa (job #2853924) | Cod sursa (job #386658)
Cod sursa(job #386658)
# include <fstream>
using namespace std;
int n, m, *a[250003], s[250003];
int main ()
{
int q, p;
ifstream fin ("stramosi.in");
fin>>n>>m;
for (int i=1;i<=n;i++)
fin>>s[i];
for (int i=1;i<=n;i++)
{
a[i]=(int *) malloc (4);
a[i][0]=0;
}
int x;
for (int i=1;i<=n;i++)
{
x=i;
while (s[x])
{
a[i][0]++;
a[i]=(int *) realloc (a[i], (a[i][0]+1)*4);
a[i][a[i][0]]=s[x];
x=s[x];
}
}
ofstream fout ("stramosi.out");
for (int i=1;i<=m;i++)
{
fin>>q>>p;
if (a[q][0]>=p)
fout<<a[q][p]<<endl;
else
fout<<"0\n";
}
return 0;
}