Cod sursa(job #702209)

Utilizator robertgbrrobertgbr robertgbr Data 1 martie 2012 20:14:43
Problema Subsecventa de suma maxima Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<iostream>
#include<fstream>
#define XMAX 6000000
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int i,n,a[XMAX],best[XMAX],bestSum,prim,ultim;
int main(){
	f>>n;
	for(i=1;i<=n;i++){
		f>>a[i];
	}
	bestSum=a[1];
	for(i=1;i<=n;i++){
		if(best[i]<best[i-1]+a[i]){
			best[i]=best[i-1]+a[i];
		}
		else{
			best[i]=a[i];
			prim=i;
		}
		if(bestSum<best[i]){
			bestSum=best[i];
			ultim=i;
		}
	}
	g<<bestSum<<" "<<prim<<" "<<ultim;
	f.close();
	g.close();
	return 0;
}