Cod sursa(job #3334554)

Utilizator Err0rSome Error Err0r Data 18 ianuarie 2026 14:34:42
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
#include <fstream>
#include <climits>
#include <algorithm>
#include <cstring>
using namespace std;

ifstream cin("ssm.in");
ofstream cout("ssm.out");

int main()
{
   int n, maxs, s, i, v[6000000], start, minstart, end;
   cin >> n;
   for (i = 1; i <= n; i++)
   {
      cin >> v[i];
   }

   ///////
   s = v[1];
   maxs = INT_MIN;
   start = 1;
   minstart=1;
   end=1;
   for (i = 2; i <= n; i++)
   {
      if (s >= 0)
      {
         s = s + v[i];
      }
      else
      {
         s = v[i];
         start = i;
      }
      // cout << s<<" ";

      if (s > maxs)
      {
         maxs = s;
         end = i;
         minstart = start;
      }
      if ((s == maxs) && (start == minstart) && (i - start < end - minstart))
      {
         maxs = s;
         end = i;
         minstart = start;
      }
      // cout << maxs<<endl;
   }
   //////
   cout << maxs << " " << minstart << " " << end;
}