Cod sursa(job #1623251)

Utilizator crion1999Anitei cristi crion1999 Data 1 martie 2016 18:20:25
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.26 kb
#include <iostream>
#include <fstream>


using namespace std;
ifstream fi("ssm.in");
ofstream fo("ssm.out");

int main()
{
        int n,i,maxx=-1000000,maxst,maxdr,st=1,sc=0,a;

        fi>>n;

        for(i=1;i<=n;i++)
        {
            fi>>a;
            sc+=a;
            if(sc>maxx)
            {
                maxx=sc;
                maxdr=i;
                maxst=st;
            }
            else if(sc==maxx)
            {
                if(maxdr-maxst>i-st)
                {
                    maxdr=i;
                    maxst=st;
                }
            }
            if(sc<0)
            {
                sc=0;
                st=i+1;
            }

        }
    fo<<maxx<<" "<<maxst<<" "<<maxdr;
}

/*
int n,i,a,maxx=-100000,j,maxi,maxj;
        fi>>n;
        sp[0]=0;
        for(i=1;i<=n;i++)
        {
            fi>>a;
            sp[i]=sp[i-1]+a;
        }

        for(i=1;i<=n;i++)
        {
            for(j=i;j<=n;j++)
            {
                if(sp[j]-sp[i-1]>maxx)
                {
                    maxx=sp[j]-sp[i-1];
                    maxi=i;
                    maxj=j;
                }
            }
        }
        fo<<maxx<<" "<<maxi<<" "<<maxj;
        */