Cod sursa(job #469019)

Utilizator S7012MYPetru Trimbitas S7012MY Data 5 iulie 2010 20:27:25
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
//dinamica O(1) mem
//smax=max(smax+s[i],s[i])

#include <fstream>
#include <limits.h>
using namespace std;

int main()
{
    int n,smax=INT_MIN,s=0,ifin,jfin,i,ci,index;
	ifstream f("ssm.in");
	ofstream g("ssm.out");
	for(f>>n,i=1;i<=n;++i) {
	    f>>ci;
	    if(s<0) s=ci,index=i;
	    else s+=ci;
	    if (smax<s) {
	        smax=s;
	        ifin=index;
	        jfin=i;
	    }
	}
	g<<smax<<" "<<ifin<<" "<<jfin;
	return 0;
}