Cod sursa(job #482793)

Utilizator MarioYCMario Ynocente Castro MarioYC Data 5 septembrie 2010 10:11:26
Problema Subsecventa de suma maxima Scor 85
Compilator c Status done
Runda Arhiva educationala Marime 0.43 kb
#include <stdio.h>

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,i;
	
	for(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;
}