Cod sursa(job #1958264)

Utilizator MarianConstantinMarian Constantin MarianConstantin Data 8 aprilie 2017 11:05:01
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>
#include <climits>

using namespace std;

int a[6000010];

int main()
{
    ifstream fin ("ssm.in");
    ofstream fout ("ssm.out");
    int n, i, s=-1, l=0, smax=INT_MIN, imax, lmax;
    fin >> n;
    for (i=1; i<=n; i++)
    {
        fin >> a[i];
        if (s<0 || s+a[i]<0)
        {
            s=a[i];
            l=1;
        }
        else
        {
            s+=a[i];
            l++;
        }
        if (s>smax)
        {
            smax=s;
            imax=i;
            lmax=l;
        }
    }
    fout << smax << " " << imax-lmax+1 << " " << imax;
    return 0;
}