Cod sursa(job #930962)

Utilizator Paula-ElenaPaula-Elena Margarit Paula-Elena Data 27 martie 2013 22:00:34
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<fstream>
using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int n, s[6000003], v[6000003], st, dr, maax= -0x3f3f3f3f, stmax, drmax;

int main(){
    int i;
	fin >> n;
	for(i=1; i<=n; ++i) fin >> v[i];
	s[0] = 0;

	st = 1;
	dr = 1;

	for(i=1; i<=n; ++i){
		if(v[i]+ s[i-1] >= v[i]){
			s[i] = v[i] + s[i-1];
			++dr;
		}
		else{
			s[i] = v[i];
			st = i;
			dr = i;

		}
		if(s[i] > maax) {
			stmax = st;
			drmax = dr;
			maax = s[i];
		}
	}

	fout << maax << " " << stmax << " " << drmax;

	return 0;
}