Cod sursa(job #1733034)

Utilizator GabiTulbaGabi Tulba-Lecu GabiTulba Data 23 iulie 2016 15:13:27
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <cstdio>
#include <algorithm>
#define MaxN 6000001
#define INF 2000000000
using namespace std;

int v[MaxN]={},N,Min=INF,minpos=0,Max=-INF,maxpos=0,start;
int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
	scanf("%d",&N);
	for(int i=1;i<=N;i++)
	{
		scanf("%d",&v[i]);
		v[i]+=v[i-1];
	}
	for(int i=1;i<=N;i++)
	{
		if(Max<v[i]-Min)
			Max=v[i]-Min,maxpos=i,start=minpos+1;
		if(Min>=v[i])
			Min=v[i],minpos=i;
	}
	printf("%d %d %d",Max,start,maxpos);
	return 0;
}