Cod sursa(job #1312290)

Utilizator Mirc100Mircea Octavian Mirc100 Data 9 ianuarie 2015 09:30:45
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<stdio.h>

int main(){
	long long s, smax, p, pmax,l,lmax,i,x,n;
	FILE *f=fopen("ssm.in","r");
	FILE *g=fopen("ssm.out","w");
	
	fscanf(f,"%lld",&n);
	fscanf(f,"%lld",&x);
	s=smax=x;
	pmax=p=1;
	lmax=1;
	for(i=2;i<=n;i++)
	{
		fscanf(f,"%lld",&x);
		if(s<0)
		{
			s=x;
			p=i;
		}
		else
			s=s+x;
		if(s>smax)
			{
				smax=s;
				pmax=p;
				lmax=i-p+1;
			}
		else
			if((s==smax) &&(p<pmax))
			{
				smax=s;
				pmax=p;
				lmax=i-p+1;
			}
	}		
	fprintf(g,"%lld %lld %lld",smax,pmax,pmax+lmax-1);	
	
}