Cod sursa(job #55726)

Utilizator FlorianFlorian Marcu Florian Data 28 aprilie 2007 12:12:33
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>
#include<values.h>
int main()
{long *v=new long[400003],p,n,initial,lungime,i,j;
int x;
long long smax;
FILE*f=fopen("buline.in","r");
FILE *g=fopen("buline.out","w");
fscanf(f,"%ld",&n);
for (i=1;i<=n;i++)
{fscanf(f,"%ld %d",&v[i],&x); if (x==0) v[i]=-v[i]; v[i+n]=v[i];}
smax=-MAXLONG;
long sc,pc,pf=1,pi=1;
sc=v[1];smax=v[1];
for (i=2;i<2*n;i++)
	{
	if(sc>0) sc+=v[i];
	else {sc=v[i]; pc=i;}
	if(smax<sc) {smax=sc; pi=pc;pf=i;}
	}

fprintf(g,"%llu %ld %ld",smax,pi,pf-pi+1);
fclose(f);
fclose(g);
return 0;}