Cod sursa(job #1076567)

Utilizator flamey19Savu Daniel flamey19 Data 10 ianuarie 2014 13:09:43
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

using namespace std;

ifstream f("ssm.in");
ofstream g("ssm.out");

int a[6000000],best[6000000],bestsum,i,n,I,m;

int main ()
{

    f>>n;
    for (i=1; i<=n; i++)
    {
       f>>a[i];
    }
    bestsum = -2000000  ;
    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;
    g<<bestsum<<" ";
    if(a[I]!=0)
    {
    while (bestsum!=0)
    {
        bestsum-=a[I];
        I--;
    }
    }
    while (a[I]==0) I--;
    g<<I+1<<" "<<m;


    return 0;
}