Cod sursa(job #2031924)

Utilizator VarticeanNicolae Varticean Varticean Data 4 octombrie 2017 00:29:26
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int main()
{
   int n; in >> n;

   long long  sum=0, best= -(1<<30), st=1, dr=1, best_st=0, best_dr=0, length=0;
   for(int i=1; i<n; i++)
    {
         int curr;in >> curr;

      if ( sum +curr < curr )
      {

          st = dr = i;
          sum = curr;

      } else
      {
          dr ++ ;
          sum+=curr;
          if ( sum > best ) best = sum;
          {
               best_st = st; best_dr = dr; length = dr - st +1;

            if ( best == sum ) if( dr-st+1 > length ) best_dr =dr, best_st = st;
          }
      }



    }


    out << best<<' ' << best_st<<' ' << best_dr;
    return 0;
}