Cod sursa(job #2345733)

Utilizator Vasilescu_CosminVasilescu Cosmin Vasilescu_Cosmin Data 16 februarie 2019 17:20:01
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.9 kb
#include <bits/stdc++.h>

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

long a,v2[6000000],n,i,maxim,st,dr,max2,cc;

int main()
{
    in>>n;
    for(i=1; i<=n; i++)
    {
        in>>a;
        v2[i]=v2[i-1]+a;
        if(i==1)
        {
            maxim=v2[i];
            dr=i;
            cc=i;
            max2=a;
        }
        else
        {
            if(a>max2)
            {
                cc=i;
                max2=a;
            }
            if(v2[i]>=maxim)
            {
                maxim=v2[i];
                dr=i;
            }
        }
    }
    st=1;
    for(i=1; i<dr; i++)
    {
        if((v2[dr]-v2[i])>maxim)
        {
            st=i+1;
            maxim=v2[dr]-v2[i];
        }
    }
    if(maxim>max2)
        out<<maxim<<" "<<st<<" "<<dr;
    else
        out<<max2<<" "<<cc<<" "<<cc;
    return 0;
}