Cod sursa(job #469763)

Utilizator miculprogramatorA Cosmina - vechi miculprogramator Data 8 iulie 2010 19:24:31
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 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;
}