Cod sursa(job #208332)
| Utilizator | Data | 15 septembrie 2008 20:41:49 | |
|---|---|---|---|
| Problema | Stramosi | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.68 kb |
#include <fstream>
using namespace std;
ofstream ofis("stramosi.out");
ifstream ifis("stramosi.in");
long v[250010];
long n,i,m,q,p;
int calculeaza(int, int);
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;
}
int calculeaza(int q, int p)
{
int nr;
nr=1;
m=v[q];
if (m==0) ofis<<0<<"\n";
else while(nr<p)
{
m=v[m];
if (m==0)
{
ofis<<0<<"\n";
nr=p+23;
}
else nr++;
}
if (nr==p) ofis<<m<<"\n";
}
