Cod sursa(job #2909586)

Utilizator cameleonGeorgescu Dan cameleon Data 14 iunie 2022 11:07:12
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb

#include <fstream>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");

int n, x, s ,smax = -2000000000, st, dr, start;
///s = suma secventei care contine elementul de la pasul i (si)

int main()
{
   cin >> n;
   start = 1;
   for(int i = 1; i <= n; ++i)
   {
       cin >> x;
       if(s+x >= x) ///<=>s > 0
       {
           s=s+x;
       }
       else
       {
           s=x; //incepe o secventa noua cu elementul de pe pozitia i
           start=i;
       }

       if(s > smax)
       {
           smax = s;
           st =start, dr=i;
       }
   }
    cout<< smax <<" "<<st <<" "<<dr;
}