Cod sursa(job #3337925)

Utilizator gaminggodBarbulescu Luca Traian gaminggod Data 30 ianuarie 2026 20:02:13
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.07 kb
#include <fstream>

using namespace std;

ifstream cin("ssm.in");
ofstream cout("ssm.out");
int main()
{
    int n,k,cnt=1,ans=0,st=1,dr=1,s=-2e9,ma2=0,ma=0,mi=100,mi2=2e9,sol1=1,sol2=1;
    cin>>n;
    int p=0;
    for(int i=1; i<=n; i++)
    {
        int x;
        cin>>x;
        if(s<0)
        {
            s=x;
            p=i;
            cnt=1;
        }
        else
        s+=x,cnt++;;

        if(s>ma)
        {
            ma=s;
            dr=i;
            st=dr-cnt+1;
            sol1=st;
            sol2=dr;
        }
        else if(s==ma)
        {
            ma=s;
            dr=i;
            st=dr-cnt+1;
            if(st<mi)
            {
                sol1=st;
                sol2=dr;
                mi=st;
            }
            else if(st==mi)
            {
                if(cnt<mi2)
                {
                    mi2=cnt;
                    sol1=st;
                    sol2=dr;
                }
            }
        }


    }
    cout<<ma<<" "<<sol1<<" "<<sol2;
    return 0;
}