Cod sursa(job #973337)

Utilizator chiriacandrei25Chiriac Andrei chiriacandrei25 Data 14 iulie 2013 12:45:40
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <cstdio>

using namespace std;

int v[6000005];

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