Cod sursa(job #529866)

Utilizator tudgal1001Profir Tudor tudgal1001 Data 6 februarie 2011 13:49:10
Problema Subsecventa de suma maxima Scor 75
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<cstdio>
using namespace std;

int a[6000005],s[60000005];

int main ()
{
	int n,max=-int(2e9),min,sol1,sol2,inc,i;
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	scanf("%d",&n);
	for (i=1; i<=n; i++)
	{
		scanf("%d",&a[i]);
		s[i]=s[i-1]+a[i];
	}
	min=s[1]; inc=1;
	for (i=1; i<=n; i++)
	{
		if (s[i]-min>max) 
		{
			max=s[i]-min;
			sol1=inc+1; sol2=i;
		}
		if (s[i]<min) { min=s[i]; inc=i; }
	}
	printf("%d %d %d",max,sol1,sol2);
	return 0;
}