Cod sursa(job #1370616)

Utilizator xoSauceSergiu Ferentz xoSauce Data 3 martie 2015 16:06:26
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <fstream>
using namespace std;

const char iname[] = "ssm.in";
const char oname[] = "ssm.out";

int main(){
	ifstream in("ssm.in");
	ofstream out("ssm.out");
	int n;
	in >> n;
	int a[6000100];
	for(int i = 0; i < n; i++){
		cin >> a[i];
	}
	int sum =0;
	int gsum =-(1<<30);
	int gstart = 0;
	int gend = 0;
	int cstart = 0;
	for(int i = 0 ; i < n; i++){
		sum += a[i];
		if(sum > gsum){
			gstart = cstart;
			gend = i;
			gsum = sum;
		}
		if(sum < 0){
			cstart = i+1;
			sum =0;
		}
	}
	out << gsum << " " << gstart+1 << " " << gend+1 << endl;
}