Cod sursa(job #1540608)

Utilizator marcdariaDaria Marc marcdaria Data 2 decembrie 2015 23:00:22
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <limits.h>

using namespace std;

int main()
{
    ifstream fin("ssm.in");
    ofstream fout("ssm.out");

    int n,i,a[6000001],start,end,v[6000001],inc,fini,maxim=INT_MIN;

    fin>>n;
    for(i=1;i<=n;++i)
       fin>>a[i];

    for(i=1;i<=n;++i)
    {
        if (v[i-1]<0)
        {
            v[i]=a[i];
            start=i;
            end=i;
        }
        else
        {
            v[i]=v[i-1]+a[i];
            end=i;
        }
        if (v[i]>maxim)
        {
            maxim=v[i];
            inc=start;
            fini=end;
        }
    }
    fout<<maxim<<" "<<inc<<" "<<fini;
    return 0;
}