Cod sursa(job #2801849)

Utilizator TudorNMnegoita tudor mihai TudorNM Data 16 noiembrie 2021 22:55:40
Problema Subsecventa de suma maxima Scor 65
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.96 kb
#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    int n=0,nr=0,i=0,poz1=0,poz2=0,st=0,dr=0,ant=0,elem1=0,elem2=0,elem3;
    long long mx=-2000000007;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        elem3=0;
        cin>>nr;
        if(nr+ant>nr)
        {
            ant=nr+ant;
            poz2=i;
            elem3=elem2+1;
            elem2=elem3;
        }
        else
        {
            ant=nr;
            poz1=poz2=i;
            elem3=1;
            elem2=1;
        }
        if(ant>mx)
        {
            mx=ant;
            st=poz1;
            dr=poz2;
            elem1=elem3;
        }
        else if(mx==ant && elem3<elem1)
        {
            mx=ant;
            st=poz1;
            dr=poz2;
            elem1=elem3;
        }
    }
    if(st==0)
        st=1;
    cout<<mx<<" "<<st<<" "<<dr;
    return 0;
}