Cod sursa(job #973295)

Utilizator horia43Stancu horia43 Data 13 iulie 2013 23:01:34
Problema Subsecventa de suma maxima Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<stdio.h>
int a[6000001];
FILE * Fin=fopen("ssm.in","r"), * Fout= fopen( "ssm.out","w");

int main ()
{
	int i,x,y,n,MaxIm,MaxProv,MaxFin,x1=0,y1=0;
	fscanf(Fin,"%d",&n);
	fscanf(Fin,"%d",&MaxIm);x=0;y=0;MaxFin=MaxIm;
	for(i=1;i<n;++i)
	{
		fscanf(Fin,"%d",&a[i]);
		MaxProv=MaxIm+a[i];
		if(MaxProv>MaxIm)
		{
			MaxIm=MaxProv;
			y=i;
		}
		if(MaxProv<MaxIm && i<n-1)
		{
			if(MaxIm>MaxFin)
				{MaxFin=MaxIm;x1=x;y1=y;}
			++i; fscanf(Fin,"%d",&a[i]);
			MaxIm=a[i];
			x=i;
			y=i;
		}
	}
	fprintf(Fout,"%d %d %d",MaxFin,x1+1,y1+1);
	fclose(Fin);
	fclose(Fout);
	return 0;
}