Cod sursa(job #1268038)

Utilizator stefii_predaStefania Preda stefii_preda Data 20 noiembrie 2014 16:20:34
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>


using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int s[6000001],l[6000001];

int main()
{
    int n,i,smax,lc,a,x;
    in>>n>>a;
    s[1]=a;
    smax=s[1];
    lc=1;
    for(i=2 ; i<=n ; i++)
    {
        in>>x;
        if(s[i-1]<0)
        {
            s[i]=x;
            lc=1;
        }
        else
        {
            s[i]=s[i-1]+x;
            lc++;
        }
        if(s[i]>smax)
        {
            smax=s[i];
            l[i]=lc;

        }
    }
    out<<smax<<" ";
    for(i=1 ; i<=n ; i++)
    {
        if(s[i]==smax)out<<i-l[i]+1<<" "<<i;
    }

    return 0;
}