Cod sursa(job #791620)

Utilizator dbalutaDaniel Baluta dbaluta Data 24 septembrie 2012 18:18:22
Problema Subsecventa de suma maxima Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.48 kb
#include <stdio.h>


int main(void)
{
	freopen("ssm.in", "r", stdin);
	freopen("ssm.out", "w", stdout);

	int s, N, i;
		
	scanf("%d", &N);
	int sum = 0;
	int maxSum = -10000000;
	int start = 0, stop = 0, sCandidate = 0;
	
	for (i = 0; i < N; i++) {
		scanf("%d", &s);
		
		sum += s;
		if (sum > maxSum) {
			maxSum = sum;
			stop = i;
			start = sCandidate;
		}
		if (sum < 0) {
			sum = 0;
			sCandidate = i + 1;
		}
	}
	
	printf("%d %d %d", maxSum, start + 1, stop + 1);
	
	return 0;
}