Cod sursa(job #1460990)

Utilizator mouse_wirelessMouse Wireless mouse_wireless Data 14 iulie 2015 15:11:05
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>

int main() {
	freopen("ssm.in", "r", stdin);
	freopen("ssm.out", "w", stdout);
	int N;
	scanf("%d", &N);
	int sumcur, startcur = 1, endcur = 1, summax, startmax = 1, endmax = 1;
	bool needReset = false;
	scanf("%d", &sumcur); summax = sumcur;
	if (sumcur <= 0)
		needReset = true;
	for (int i = 2; i <= N; i++) {
		int x;
		scanf("%d", &x);
		if (needReset) {
			startcur = i;
			sumcur = x;
		}
		else
			sumcur += x;
		needReset = false;
		endcur = i;
		if (sumcur > summax) {
			startmax = startcur;
			endmax = endcur;
			summax = sumcur;
		}
		if (sumcur <= 0) {
			needReset = true;
			continue;
		}
	}
	printf("%d %d %d\n", summax, startmax, endmax);
	return 0;
}