Cod sursa(job #1149210)

Utilizator Andreiii500Andrei Puiu Andreiii500 Data 21 martie 2014 15:38:27
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<limits.h>
#include<stdio.h>
using namespace std;

// 6000005
#define dim 6000005

int main()
{
	freopen("ssm.in", "r", stdin);
	freopen("ssm.out", "w", stdout);
	
	int n,i,x,s,smax,st,dr,stmax,drmax;
	
	scanf("%d", &n);

	smax=INT_MIN;
	s=INT_MIN;
	
	for(i=1;i<=n;++i)
	{
		scanf("%d", &x);
		
		if(s<0 && x>s)
		{
			s=x;
			st=i;
			dr=i;
		}
		else
		{
			if(s>smax)
			{
				smax=s;
				stmax=st;
				drmax=dr;
			}
			s+=x;
			++dr;
		}
	}
	if(s>smax)
	{
		smax=s;
		stmax=st;
		drmax=dr;
	}
	
	printf("%d %d %d", smax, stmax, drmax);
	
	
	
	return 0;
}