Cod sursa(job #79609)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 23 august 2007 12:04:41
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<stdio.h>
#include<string.h>

long n, m, p, q, v[400000], nr;

long long cautare(int a, int b)
{
  long long i, rez=b;
  for (i=1; i<=a; i++)
    {
      rez=v[rez];
      if (rez==0) return 0;
    }
  return rez;
}





int main()
{
  long i, rez;
  freopen("stramosi.in","r",stdin);
  freopen("stramosi.out","w",stdout);
  scanf("%ld%ld",&n,&m);

  long aux;
  char sir[2500024];
  fgetc(stdin); fgetc(stdin);
  fgets(sir, 2500024,stdin);
  aux=strlen(sir);
  nr=1;
  for (i=0; i<aux; i++)
    {
      if (sir[i]>='0' && sir[i]<='9')
	v[nr]=v[nr]*10+sir[i]-'0';

      if (sir[i]==' ') nr++;
    }

  for (i=1; i<=m; i++)
    {
      scanf("%ld%lld",&q,&p);
      rez=cautare(p,q);
      printf("%ld\n",rez);
    }

  return 0;
}