Cod sursa(job #2419980)

Utilizator alexoloieriAlexandru Oloieri alexoloieri Data 9 mai 2019 23:33:38
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <bits/stdc++.h>
using namespace std;
int n, x, s, ln, inc;
int ans = -2100000000, incans, lnans;
int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    scanf("%d",&n);
    s = 0;
    inc = 1, ln = 0;
    for (int i=1;i<=n;++i)
    {
        scanf("%d",&x);
        if (x > ans)
        {
            ans = x;
            lnans = 1;
            incans = i;
        }
        s+=x;
        if (s < 0)
        {
            ln = 0;
            inc = i+1;
            s = 0;
        }
        else
        {
            ++ln;
            if (s > ans)
            {
                ans = s;
                incans = inc;
                lnans = ln;
            }
        }
    }
    printf("%d %d %d\n",ans,incans,incans+lnans-1);
    fclose(stdin);
    fclose(stdout);
    return 0;
}