Cod sursa(job #1733041)

Utilizator GabiTulbaGabi Tulba-Lecu GabiTulba Data 23 iulie 2016 15:18:02
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 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]-v[minpos])
			Max=v[i]-v[minpos],maxpos=i,start=minpos+1;
		if(Min>v[i])
			Min=v[i],minpos=i;
	}
	printf("%d %d %d",Max,start,maxpos);
	return 0;
}