Cod sursa(job #757136)

Utilizator musicxdAndrei Popa musicxd Data 11 iunie 2012 09:35:33
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <cstdio>
int main (){
	
	int s=0, i, j, n, nrc;
	int smax= - (1 << 31);
	
	
	freopen ("ssm.in", "r", stdin);
	freopen ("ssm.out", "w", stdout);
	
	scanf ("%d", &n);
	int ppoz = 1, ppozb, upozb;
	for (i=1; i<=n; ++i)
	{
		scanf ("%d", &nrc);
		s=s+nrc;
		if (s>smax){
			smax=s;
			ppozb = ppoz;
			upozb = i;
		}
		if (s<0) {
			s=0;
			ppoz = i + 1;
		}
	}
	
	printf ("%d %d %d\n", smax, ppozb, upozb);
	
}