Cod sursa(job #807481)

Utilizator vlad.doruIon Vlad-Doru vlad.doru Data 4 noiembrie 2012 19:48:25
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>

using namespace std;

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

const int N=6000001;

int v[N];
int n;

void read(){
	in>>n;
	for(int i=1;i<=n;++i){
		in>>v[i];
	}
}

int computessm(){
	int currentsum=0,currentstart=1;
	int maxsum=0,beststart=0,bestend=0;
	for(int i=1;i<=n;++i){
		currentsum+=v[i];
		if(currentsum<0){
			currentsum=0;
			currentstart=i+1;
			continue;
		}
		if(currentsum>maxsum){
			maxsum=currentsum;
			bestend=i;
			beststart=currentstart;
		}
	}
	out<<maxsum<<" "<<beststart<<" "<<bestend;
}

int main(){
	read();
	computessm();
	return 0;
}