Cod sursa(job #416759)

Utilizator cosmyoPaunel Cosmin cosmyo Data 13 martie 2010 14:01:00
Problema Stramosi Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<stdio.h>
#include<deque>
#include<list>
#include<vector>
#define NMAX 250001
#define in freopen("stramosi.in","r",stdin)
#define out freopen("stramosi.out","w",stdout)
using namespace std;
typedef list<long> ST;
typedef ST::iterator IT;
ST S[NMAX];
long n,m;
int main()
{in;
 out;
 scanf("%ld %ld",&n,&m);
 long i,x,p,q;
  for(i=1;i<=n;++i)
  {scanf("%ld",&x);
   S[i]=S[x];
    if(x>0)
     S[i].push_back(x);
  }
 IT it;
 for(;m;--m)
 {scanf("%ld %ld",&q,&p);
 
 if(p>S[q].size())
	  printf("%ld\n",0);
 else{it=S[q].end();
 //--it;
  for(;it!=S[q].begin()&&p>0;it--,p--);
   //++it;
   printf("%ld\n",*(it));
 }
 }
  
 return 0;
}