Cod sursa(job #1901176)

Utilizator Vlad3108Tir Vlad Ioan Vlad3108 Data 3 martie 2017 19:39:40
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <cstdio>
#include <climits>
#include <algorithm>
#define LMAX 6000000
int S[LMAX+5];
using namespace std;
int main(){
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	int n,i,x,Poz1,Poz2;
	scanf("%d",&n);
	for(i=1;i<=n;++i){
		scanf("%d",&x);
		S[i]=S[i-1]+x;
	}
	int L1,Min=INT_MAX,Max=-INT_MAX;
	for(i=0;i<=n;++i){
		if(S[i]<Min){
			Min=S[i];
			L1=i;
		}
		if(S[i]-Min>Max){
			Max=S[i]-Min;
			Poz1=L1+1;
			Poz2=i;
		}
	}
	printf("%d %d %d\n",Max,Poz1,Poz2);
	fclose(stdin),fclose(stdout);
    return 0;
}