Cod sursa(job #819264)

Utilizator FlameingoAiordachioaei Marius Flameingo Data 18 noiembrie 2012 19:18:14
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include<cstdio>
#define D 6000001
using namespace std;
int s[D];
int main()
{
	freopen("ssm.in","r",stdin);freopen("ssm.out","w",stdout);
	int n,i,a,m=-int(2e9),i1,i2,j,S=-D;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		scanf("%d",&a);
		s[i]=s[i-1]+a;
		if(s[i]<m)
			m=s[i],j=i;
		if(S<s[i]-m)
			S=s[i]-m,i2=i,i1=j+1;
	}
	printf("%d %d %d",S,i1,i2);
}