Cod sursa(job #819265)

Utilizator FlameingoAiordachioaei Marius Flameingo Data 18 noiembrie 2012 19:19:13
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.37 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=-int(2e9);
	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);
}