Cod sursa(job #208497)

Utilizator razvan_emPrecupas Razvan razvan_em Data 16 septembrie 2008 21:08:32
Problema Stramosi Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
using namespace std;
ofstream ofis("stramosi.out");
ifstream ifis("stramosi.in");
long v[250010];
long n,i,m,q,p;
void calculeaza(int, int);
int nr,rez;

int main()
{
    ifis>>n>>m;
    for (i=1; i<=n; i++)
    ifis>>v[i];
    for (i=1; i<=m; i++)
    {
        ifis>>q>>p;
        calculeaza(q,p);
    }
    return 0;
}

void calculeaza(int q, int p)
{
    nr=1;
    rez=v[q]; 
    if (rez==0) ofis<<0<<"\n";
    else while(nr<p) 
    {
         rez=v[rez];
         if (rez==0) 
         {
                      ofis<<0<<"\n";
                      nr=p+23;
         }
         else nr++;
    }
    if (nr==p) ofis<<rez<<"\n";
}