Cod sursa(job #423732)

Utilizator marian77ivan marian liviu marian77 Data 24 martie 2010 10:56:26
Problema Buline Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <stdio.h>
int max,p,l,n,i,v[400001],poz[400001],x;
int main() {
	FILE *f=fopen("buline.in","r");
	FILE *g=fopen("buline.out","w");
	fscanf(f,"%d",&n);
	for(i=1;i<=n;i++) {
		fscanf(f,"%d%d",&v[i],&x);
		if(x==0)
			v[i]=-v[i];
	}
	for(i=1;i<=n;i++) {
		v[n+i]=v[i];
	}
	for(i=1;i<=2*n;i++) {
		if(v[i-1]<v[i]+v[i-1]) {
			v[i]=v[i]+v[i-1];
			poz[i]=poz[i-1];
		}
		else
			poz[i]=i;
	}
	for(i=1;i<=2*n;i++)
		if(v[i]>max) {
			max=v[i];
			p=poz[i];
			l=i-p+1;
		}
	fprintf(g,"%d %d %d",max,p,l);
	return 0;
}