Cod sursa(job #482789)

Utilizator MarioYCMario Ynocente Castro MarioYC Data 5 septembrie 2010 09:52:45
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <cstdio>

using namespace std;

int main(){
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	
	int N,a;
	scanf("%d",&N);
	
	scanf("%d",&a);
	int ans = a,s = 0,n = 1,best = a,s2 = 0,n2 = 1;
	
	for(int i = 1;i<N;++i){
		scanf("%d",&a);
		
		if(best<0){
			best = a;
			s2 = i;
			n2 = 1;
		}else{
			best += a;
			++n2;
		}
		
		if(best>ans){
			ans = best;
			s = s2;
			n = n2;
		}
	}
	
	printf("%d %d %d\n",ans,s+1,s+n);
	
	return 0;
}