Cod sursa(job #1409942)

Utilizator VladuZ1338Vlad Vlad VladuZ1338 Data 30 martie 2015 19:42:40
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <cstdio>
#include <algorithm>

using namespace std;

int i, maxi, n, v[6000005], b[6000005], e, beg, t;

int main()
{
    freopen ("ssm.in", "r", stdin);
    freopen ("ssm.out", "w", stdout);
    scanf ("%d", &n);
    for (i=1; i<=n; i++) scanf ("%d", &v[i]);
    for (i=1; i<=n; i++)
    {
        b[i]=max(b[i-1]+v[i], v[i]);

        if (b[i]<0) t=i+1;
        if (b[i]>maxi) {maxi=b[i]; e=i; beg=t;}
    }
    //for (i=1; i<=n; i++) printf ("%d ", b[i]);
    printf ("%d %d %d", maxi, beg, e);
}