Cod sursa(job #1623582)

Utilizator george777george rosescu george777 Data 1 martie 2016 20:28:07
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int v[6000000],suma[6000000],poz[6000000];
int main()
{
    int n,i,sumamax=-9999999,pi,pf;
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];
    for(i=1;i<=n;i++)
    {
        if(i>1)
            suma[i]=max(v[i]+suma[i-1],v[i]);
        else
            suma[i]=v[i];
        if(suma[i]>=sumamax)
        {
            sumamax=suma[i];
            pi=i;
        }
    }
    i=pi;
    while(suma[i]>0)
    {
        pf=i;
        i++;
    }
    g<<sumamax<<" "<<pi<<" "<<pf;
    return 0;
}