Cod sursa(job #663096)

Utilizator geniucosOncescu Costin geniucos Data 17 ianuarie 2012 20:11:30
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include<stdio.h>
using namespace std;
int p,x,y,i,n,maxi,s,a[6000002];
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
	scanf("%d",&a[i]);
s=a[1];
p=1;
x=1;
y=1;
maxi=a[1];
for(i=2;i<=n;i++)
{
	if(s<0)
	{
		p=i;
		s=a[i];
	}
	else s=s+a[i];
	if(s>maxi)
	{
		maxi=s;
		x=p;
		y=i;
	}
}
printf("%d %d %d\n",maxi,x,y);
return 0;
}