Cod sursa(job #3165700)

Utilizator Antonio_BiscoveanuAntonio Biscoveanu Antonio_Biscoveanu Data 6 noiembrie 2023 19:22:24
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include<fstream>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int n, smax, i, st, dr, x, scur, drmax, stmax, sa;
int main()
{
    cin>>n;
    cin>>x;
    sa=x;
    scur=0;
    smax=x;
    for(i=2; i<=n; i++)
    {
        cin>>x;
        if(sa+x>x)
        {
            scur=sa+x;
            dr=i;
        }
        else
        {
            scur=x;
            st=dr=i;
        }
        if(scur>smax)
        {
            smax=scur;
            stmax=st;
            drmax=dr;
        }
        else if(scur==smax && drmax-stmax+1>dr-st+1)
        {
            drmax=dr;
            stmax=st;
        }
        sa=scur;
    }
    cout<<smax<<" "<<stmax<<" "<<drmax;
}