Pagini recente » Atasamentele paginii Clasament dinamica_v | Cod sursa (job #203945) | Cod sursa (job #430812)
Cod sursa(job #430812)
#include<stdio.h>
#include<iostream.h>
long int m[250000][1996],f[250000][1996];
void matrice(long int a)
{long int i,j;
for(i=1;i<=f[a][0];i++)
{ m[f[a][i]][0]=m[a][0]+1;
m[f[a][i]][1]=a;
for(j=1;j<=m[a][0];j++)
m[f[a][i]][j+1]=m[a][j];
matrice(f[a][i]);} }
int main()
{freopen ("stramosi.in","r",stdin);
freopen ("stramosi.out","w",stdout);
long int n,r,a,i;
scanf("%d%d",&n,&r);
for(i=1;i<=n;i++){
scanf("%d",&a);
f[a][0]++;
f[a][f[a][0]]=i;
}
matrice(0);
for(i=1;i<=r;i++)
{scanf("%d%d",&a,&n);
printf("%d\n",m[a][n]);}
return 0;}