Cod sursa(job #2001328)

Utilizator victorv88Veltan Victor victorv88 Data 16 iulie 2017 14:24:07
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int n, x[6000005], nr=0, maxi=-999999, poz1, poz2;
int best[6000005];

void ssm()
{
    for (int i=1; i<=n; i++)
    {
        f >> x[i];
        best[i]=best[i-1]+x[i];
    }
    for (int i=1; i<=n; i++)
    {
        best[i]=max(best[i-1]+x[i],x[i]);
        if (best[i]==x[i])
            poz1=i;
        if (best[i]>maxi)
        {
            maxi=best[i];
            poz2=i;
        }
    }
    g << maxi <<' ' <<poz1 <<' ' <<poz2;
}

int main()
{
    f >> n;
    ssm();
    return 0;
}