Cod sursa(job #2286746)

Utilizator DragosSDragos Sarbu DragosS Data 20 noiembrie 2018 17:51:45
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>

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

int v[100],best[100],init[100];
int n;

int main()
{
    f>>n;

    for(int i=0;i<n;i++)
        f>>v[i];


    best[0]=v[0];
    init[0]=0;

    int maxim=best[0],fin=0;

    for(int i=1;i<n;i++)
    {
        if(best[i-1]>=0)
        {
            best[i]=best[i-1]+v[i];
            init[i]=init[i-1];
        }
        else
        {
            best[i]=v[i];
            init[i]=i;
        }
    }

    for(int i=1;i<n;i++)
        if(maxim<best[i])
        {
            maxim=best[i];
            fin=i;
        }

    g<<maxim<<" "<<init[fin]<<" "<<fin;

}