Cod sursa(job #342123)

Utilizator vdobrotaDobrota Valentin Eugen vdobrota Data 20 august 2009 17:36:41
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include<stdio.h>
int main()
{
	freopen("stramosi.in","r",stdin);
	freopen("stramosi.out","w",stdout);
	int i,n,m,a[250001],p,q,b[250001],c[250001],pp,qq;
	scanf("%d%d",&n,&m);
	for(i=1;i<=n;i++) {
		scanf("%d",&a[i]);
		b[i]=0;
		}
	for(i=0;i<m;i++) {
		scanf("%d%d",&q,&p);
		qq=q;
		pp=p;
		if(b[q]&&(b[q]<=p)) {
			p=b[q];
			q=c[q];
			}
		while(q&&p--)
			q=a[q];
		printf("%d\n",q);
		if(q&&(b[qq]<pp)) {
			b[qq]=pp-1;
			c[qq]=q;
		}
	}
	return 0;
}