Cod sursa(job #1161231)

Utilizator ralucik_2006Filimon Raluca Elena ralucik_2006 Data 31 martie 2014 09:16:11
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>

using namespace std;

int a[6000001],n,pr,ul,mx,p,i,sum[6000001];

int main()
{
    ifstream f("ssm.in");
    ofstream g("ssm.out");
    f>>n;
    for (i=1;i<=n;i++)
    {
        f>>a[i];
        sum[i]=sum[i-1]+a[i];
        if (sum[i]>mx)
        {
            mx=sum[i];
            pr=p;
            ul=i;
        }
        if (sum[i]==mx && i-p+1<ul-pr+1)
        {
            mx=sum[i];
            pr=p;
            ul=i;
        }
        if (sum[i]<0)
        {
            sum[i]=0;
            p=i+1;
        }
    }
    g<<mx<<" "<<pr<<" "<<ul;
    return 0;
}