Cod sursa(job #1912418)

Utilizator NicuBaciuNicu Baciu NicuBaciu Data 8 martie 2017 08:45:30
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>

using namespace std;

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

int s[6000001];

int n, best=-int(2e9), idx, first, last;
int mini=0;

int main()
{
    fin >> n;

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

    for(int i=1; i<=n; i++)
    {
        s[i]+=s[i-1];

        if(best < s[i]-mini)
        {
            best=s[i]-mini; first=idx+1; last=i;
        }
        if(mini > s[i])
        {
            mini=s[i]; idx=i;
        }
    }

    fout << best << " " << first << " " << last;

    return 0;
}