Cod sursa(job #3315460)

Utilizator Alex283810Mocan Alexandru Vali Alex283810 Data 14 octombrie 2025 10:19:03
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <climits>

using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int long long x[6000001], Smax = INT_MIN, S=-1;

int long long i,n,st =INT_MIN,dr = INT_MAX,start;

int main()
{

    fin >> n;
    for(i=1 ; i<=n ;i++)
    {
        fin >> x[i];
    }
    for (i=1;i<=n;i++)
    {
        if(S < 0)
        {
          start=i;
          S = 0;
        }
        S += x[i] ;
        if(S > Smax)
        {
          Smax = S; st = start; dr = i;
        }
        else if(S == Smax && i - start < dr - st)
        {
            st = start; dr = i;
        }
    }
    fout << Smax << st << " " << dr;


    return 0;
}