Cod sursa(job #1806173)

Utilizator MIHAI1001Mihai Daniel Mincu MIHAI1001 Data 14 noiembrie 2016 21:41:26
Problema Subsecventa de suma maxima Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>

using namespace std;
int N,S[700005],i,Sum=0;
ifstream f("ssm.in");
ofstream g("ssm.out");
#define FOR(i, a, b)  for (int i = (a); i <= (b); ++ i)
#define Max(a, b)  ((a) > (b) ? (a) : (b))
int main()
{
    f>>N;
    for(i=1;i<=N;i++)
        f>>S[i];
    int bestSum=-int(2e9),beg,enD,idx;
    for(i=1;i<=N;i++)
    {
        if(Sum<0)
        {
            Sum=S[i]; idx=i;
        }
        else Sum+=S[i];
        if(bestSum<Sum)
        {
            bestSum=Sum;
            beg=idx;
            enD=i;
        }
    }
    g<<bestSum<<" "<<beg<<" "<<enD;
    f.close();
    g.close();
    return 0;
}