Cod sursa(job #3195590)

Utilizator andreifilimonPopescu Filimon Andrei Cosmin andreifilimon Data 21 ianuarie 2024 12:52:27
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

using namespace std;

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

#define MAXN 6000000

int v[MAXN+1];

int main()
{
    int n;
    cin>>n;
    int i;
    for(i=0; i<n; i++)
        cin>>v[i];
    int smax, inds, indf, indc, csum, lsum;
    inds=indf=lsum=0;
    csum=smax=v[0];
    for(i=1; i<n; i++)
    {
        if(lsum>=0)
        {
            csum=lsum+v[i];
            if(csum>smax)
            {
                smax=csum;
                inds=indc;
                indf=i;
            }
        }
        else
        {
            csum=v[i];
            indc=i;
        }
        lsum=csum;
    }
    cout<<smax<<" "<<inds+1<<" "<<indf+1;
    return 0;
}