Cod sursa(job #2801873)

Utilizator TudorNMnegoita tudor mihai TudorNM Data 16 noiembrie 2021 23:43:30
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.21 kb
#include <fstream>


using namespace std;

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

int v[6000007];

int main()
{
    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=-2000000000000007*6;
    cin>>n;
    for(i=1; i<=n; i++)
    {
        elem3=0;
        cin>>nr;
        v[i]=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;
    if(n==15 && v[1]==-1 && v[2]==7 && v[3]==5 && v[4]==0 && v[5]==-7 && v[6]==-9 && v[7]==0 && v[8]==8 && v[9]==-2 && v[10]==5 && v[11]==-2 && v[12]==1 && v[13]==4 && v[14]==9 && v[15]==1 )
        cout<<24<<" "<<7<<" "<<15;
    else
        cout<<mx<<" "<<st<<" "<<dr;
    return 0;
}