Cod sursa(job #689064)

Utilizator Victor10Oltean Victor Victor10 Data 24 februarie 2012 09:07:03
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <cstdio>

int v[6000005];

int main(){
	
	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	
	int n,i, Smax=-2000000000, Scur=-2000000000, upoz, ppoz, upozbun, ppozbun;
	
	scanf("%d",&n);
	
	for(i=1; i<=n; ++i){
		scanf("%d",&v[i]);
		if(Scur+v[i]>=v[i]){
			Scur+=v[i];
			upoz=i;
		}
		else{
			Scur=v[i];
			ppoz=i;
			upoz=i;
		}
		if(Scur>Smax){
			Smax=Scur;
			upozbun=upoz;
			ppozbun=ppoz;
		}
	}
	
	printf("%d %d %d\n", Smax, ppozbun, upozbun);
}