Cod sursa(job #883061)

Utilizator RobertBBadea Corneliu Robert RobertB Data 19 februarie 2013 18:21:04
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <iostream>
#include <fstream>

using namespace std;
 
ifstream f("ssm.in");
ofstream g("ssm.out");

int S[6000001];
int N;

int main()
{
	int st,fin,j;
	f >> N;
	for(int i = 1; i <= N; i++) {
		f >> S[i];
		S[i] += S[i-1];
	}
	int Min = 0;
	int s = -1 * 0x7fffffff;
	for(int i = 1; i <= N; i++) {
		if(s < S[i] - Min) {
			s = S[i] - Min;
			st = j + 1;
			fin = i;
		}
		if(S[i] < Min) {
			Min = S[i];
			j = i;
		}
	}
	g << s << " " << st << " " << fin;
}