Cod sursa(job #1075697)

Utilizator corina.ioanaSerbanescu Corina corina.ioana Data 9 ianuarie 2014 14:52:46
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <cstdio>

using namespace std;
int a[6000000],best[6000000],bestsum,i,n,I,m;
int main ()
{
    freopen ("ssm.in","r",stdin);
    freopen ("ssm.out","w",stdout);

    scanf ("%d", &n);
    for (i=1; i<=n; i++)
    {
        scanf ("%d", &a[i]);
    }
    bestsum = a[1];
    for (i = 1; i <= n; ++ i)
    {
        best[i] = a[i];
        if (best[i] < best[i-1] + a[i])
            best[i] = best[i-1] + a[i];
        if (bestsum <= best[i])
        {
             bestsum = best[i];
             I=i;
        }

    }
    m=I;
    printf("%d ", bestsum);
    while (bestsum!=0)
    {
        bestsum-=a[I];
        I--;
    }
    printf ("%d %d", I+1, m);


    return 0;
}