Cod sursa(job #1588814)

Utilizator lauratenderLaura Tender lauratender Data 3 februarie 2016 17:06:38
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>

using namespace std;
ifstream in ("ssm.in");
ofstream out ("ssm.out");
int v[6000001], s[6000001];

int main()
{
    int n,i,nr,poz, lmx, pozmx, smax;
    in>>n;
    for (i=1; i<=n; i++)
        in>>v[i];
    s[1]=v[1];
    smax = s[1];
    nr=1;
    lmx=1;
    pozmx=1;
    poz=1;
    for ( i=2; i<=n; i++)
    {
        if ( s[i-1] >= 0)
        {
            s[i]= s[i-1]+v[i];
            nr++;
            poz=i;
        }
        else
        {
            s[i]=v[i];
            nr=1;
            poz=i;
        }
        if ( s[i]>smax)
        {
            smax=s[i];
            pozmx = poz;
            lmx=nr;
        }
    }
    out<<smax<<" "<<pozmx-lmx+1<<" "<<pozmx;

}