Cod sursa(job #3165368)

Utilizator Theo20067Cismaru Theodor-Alexe Theo20067 Data 6 noiembrie 2023 08:11:21
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout("ssm.out");
int n,i,maxim,s,st,dr,S,x;
int main ()
{
    fin>>n;
    fin>>x;
    S=x;
    s=1;
    for(i=2;i<=n;i++)
    {
        fin>>x;
        if(S+x>x)
            S+=x;
        else
        {
            S=x;
            s=i;
        }
        if(S>maxim)
        {
            maxim=S;
            dr=i;
            st=s;
        }
        else
            if(S==maxim&&dr-st>i-s)
            {
                st=s;
                dr=i;
            }
    }
    fout<<maxim<<" "<<st<<" "<<dr;
    return 0;
}