Cod sursa(job #904770)

Utilizator PregatireONIAnamaria Cotirlea PregatireONI Data 4 martie 2013 20:40:19
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <stdio.h>
#include <algorithm>

using namespace std;

FILE *f,*s;

int n,i;

int v[6000005];

int main()
{
	f=fopen("ssm.in","r");
	s=fopen("ssm.out","w");
	
	fscanf(f,"%d",&n);
	
	for(i=1;i<=n;i++)
		fscanf(f,"%d",&v[i]);
	
	int max=-2000000;
	
	int x=0,y=0,z=0;

	int sum=0;
	
	for(i=1;i<=n;i++)
	{
		if(sum<0)
		{
			sum=v[i];
			z=i;
		}	
        else
            sum+=v[i];
		
        if (max<sum)
		{	
            max=sum;
			
			x=z;
			y=i;			
		}	
	}
	
	fprintf(s,"%d %d %d",max,x,y);
	
	fclose(s);
	
	return 0;
}