Cod sursa(job #2849184)

Utilizator MrPuzzleDespa Fabian Stefan MrPuzzle Data 14 februarie 2022 17:59:35
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.07 kb
#include<fstream>
#include<iostream>
#include<climits>
#include<algorithm>
#include<cstring>
#include<cmath>

using namespace std;

//ifstream f("in.in");
//ofstream g("out.out");

ifstream f("ssm.in");
ofstream g("ssm.out");

int best=INT_MIN,n,x,maxi = INT_MIN,maxiDr,maxiSt,dr,st;

int main()
{
    f>>n;
    dr=1;
    st=1;
    for(int i=1;i<=n;i++)
    {
        f>>x;
        if(best + x > x)
        {
            if(best>maxi)
            {
                maxi = best;
                maxiDr = dr;
                maxiSt = st;
            }

            best = best+x;
            dr++;
        }
        else
        {
            if(best>maxi)
            {
                maxi = best;
                maxiDr = dr;
                maxiSt = st;
            }

            dr = i;
            st = i;

            best = x;
        }
    }

    if(best>maxi)
    {
        maxi = best;
        maxiDr = dr;
        maxiSt = st;
    }

    g<<maxi<<" "<<maxiSt<<" "<<maxiDr;

    f.close();
    g.close();
    return 0;
}