Cod sursa(job #2756755)

Utilizator Gabriel_DascalescuGabriel Dascalescu Gabriel_Dascalescu Data 2 iunie 2021 19:47:04
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#define nmax 6000005

using namespace std;

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

int n, beg, en, pozmin, smin;

int v[nmax], s[nmax], suma=-10000000;

int main()
{
    in>>n;
    for(int i=1; i<=n; i++)
    {
        in>>v[i];
        s[i] = s[i-1] + v[i];
    }
    for(int i=1; i<=n; i++)
    {
        if(suma < s[i] - smin)
        {
            suma = s[i]- smin;
            en = i;
            beg = pozmin +1;
        }
        if(s[i]<smin)
        {
            smin = s[i];
            pozmin = i;
        }
    }
    out<<suma<<" "<<beg<<" "<<en;
    return 0;
}