Cod sursa(job #494824)

Utilizator space.foldingAdrian Soucup space.folding Data 23 octombrie 2010 01:08:13
Problema Stramosi Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <cstdio>
using namespace std;
int v[25][250001];


int main ()
{
	FILE *in=fopen("stramosi.in", "r"), *out=fopen("stramosi.out", "w");
	int n, m, value, s1, s2;
	fscanf(in, "%d%d", &n, &m);
	for(int i=0; i<n; ++i)
		fscanf(in, "%d", &v[0][i+1]);

	for(int i=1; i<=n; ++i)
	{
		value=i;
		int j=1;
		while(v[0][value])
		{
			value=v[0][value];
			v[j++][i]=value;
		}
	}


	for(int i=0; i<m; ++i)
	{
		fscanf(in, "%d%d", &s1, &s2);
		if(s2>24)
			fprintf(out, "0\n");
		else
			fprintf(out, "%d\n", v[s2][s1]);		
	}
	return 0;
}