Cod sursa(job #3268817)

Utilizator MateoTdrTeodorescu Mateo MateoTdr Data 17 ianuarie 2025 17:52:50
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include<fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int const INF=1e9;
int main()
{
    int n,st=1,ss_c=0,ss_max=-INF,dr_f,st_f;
    in>>n;
    for(int i=1;i<=n;i++)
    {
        int x_i;
        in>>x_i;
        if(x_i>ss_c+x_i)
        {
            ss_c=x_i;
            st=i;
        }
        else
            ss_c+=x_i;
        if(ss_c>ss_max)
        {
            ss_max=ss_c;
            st_f=st;
            dr_f=i;
        }
        else if(ss_c==ss_max)
                if(i-st<dr_f-st_f)
                    {
                       st_f=st;
                       dr_f=i;
                    }
    }
    out<<ss_max<<" "<<st_f<<" "<<dr_f;
    in.close();
    out.close();
    return 0;
}