Cod sursa(job #379623)

Utilizator cvicentiuCiorbaru Vicentiu Marian cvicentiu Data 2 ianuarie 2010 18:56:21
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>

#define MaxN 6000001

using namespace std;

fstream fin ("ssm.in",ios::in);
fstream fout("ssm.out",ios::out);

int V[MaxN], N;
int sum[MaxN];
int st, dr, maxim, beg, minim, suma;

int main(){

	fin >> N;
	for (int i = 1; i <= N; i++)
		fin >> V[i];
	minim = 0;
	st = 1;
	suma = -int(2e9);
	dr = 1;

	for (int i = 1; i <= N; i++){
		
		V[i] += V[i-1];
		if (suma < V[i] - minim)
			suma = V[i] - minim, dr = i, beg = st + 1;
		if (V[i] < minim)
			st = i, minim = V[i];
	};

	fout << suma << ' ' << beg << ' ' << dr;

	return 0;
};