Cod sursa(job #2237894)

Utilizator lucian2015blaugranadevil lucian2015 Data 3 septembrie 2018 20:15:49
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>

#define nmax 6000001


using namespace std;

int a[nmax], best[nmax], n, tend, beg, s;
ifstream f("ssm.in");
ofstream g("ssm.out");

int main()
{
    int i, bestsum;
    f>>n;
    for(i = 1; i <= n; i++)
        f>>a[i];
    bestsum=a[1];
    for(i = 1; i <= n; i++)
    {
        best[i]=max(a[i],best[i-1]+a[i]);
        if(bestsum<best[i])
            { bestsum=best[i];
            tend=i;}
    }
    i=tend;
    while(s!=bestsum){
        s+=a[i];
        i--;
    }
    beg=i+1;
    g<<bestsum<<' '<<beg<<' '<<tend;

}