Cod sursa(job #2257549)

Utilizator Bogdy_PPrunescu Bogdan Bogdy_P Data 10 octombrie 2018 10:28:53
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("ssm.in	");
ofstream out("ssm.out");
int N, S[6000010], best[6000010], bestsum = -10000000, Min = 0, x , r, l;
int main()
{
    in >> N;
    for(int i = 1;i <= N;i++)
    {
        in >> x;
        S[i] = x + S[i - 1];
    }
    for(int i = 1;i <= N;i++)
    {
        best[i] = S[i] - Min;
        if(Min > S[i])
        {
            Min = S[i];
            l = i + 1;
        }
        if(bestsum < best[i])
        {
            r = i;
            bestsum = best[i];
        }
    }
    out << bestsum << " " << l << " " << r;
    return 0;
}