Cod sursa(job #2111282)

Utilizator dey44andIoja Andrei-Iosif dey44and Data 21 ianuarie 2018 20:00:12
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
#include <climits>
#define intrare "ssm.in"
#define iesire "ssm.out"
#define NMAX 6000005

using namespace std;

ifstream in(intrare);
ofstream out(iesire);

int n, sir[NMAX];

void Read()
{
    in >> n;
    for(int i = 1; i <= n; i++)
        in >> sir[i];
}

void Maxim()
{
    int Sum_Max = - LONG_MAX, Sum_Local = 0, index, stanga, dreapta;
    for(int i = 1; i <= n; i++)
    {
        if(Sum_Local < 0)
            Sum_Local = sir[i], index = i;
        else Sum_Local += sir[i];

        if(Sum_Max < Sum_Local)
            Sum_Max = Sum_Local, stanga = index, dreapta = i;
    }
    out << Sum_Max << " " << stanga << " " << dreapta;
}

int main()
{
    Read();
    Maxim();
    return 0;
}