Cod sursa(job #1990120)

Utilizator vicpop14Victor Popescu vicpop14 Data 10 iunie 2017 15:59:54
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb

#include <fstream>


using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");

int sp[6000001], v[6000001];

int main()
{
    int n, i, j, minim=(1ll << 31) - 1, ind, ii, s, st, dr;
    int smax=-(1ll << 31)+1;
    cin>>n;
    for(i=1; i<=n; i++)
    {
        cin>>v[i];
        if (i==0)
            sp[i]=v[i];
        else sp[i]=sp[i-1]+v[i];
    }
    minim = 0;
    ind = 0;
    for(j=1; j<=n; j++)
    {


        ii=ind;
        s=sp[j]-sp[ii];
        if(s>smax)
        {
            smax=s;
            st=ii+1;
            dr=j;
        }
         if(minim>sp[j])
        {
            minim=sp[j];
            ind = j;
        }
    }
    cout<<smax<<" "<<st<<" "<<dr;

    return 0;
}