Cod sursa(job #3308555)

Utilizator andreic06Andrei Calota andreic06 Data 26 august 2025 10:13:33
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <bits/stdc++.h>

using namespace std;
using int64 = long long;
const int N_MAX = 6e6;
const int64 myINF = 3e9;

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

int v[1 + N_MAX];
int main()
{
   int n; fin >> n;
   for (int i = 1; i <= n; i ++) fin >> v[i];

   int64 sp = 0;
   int64 min_sp = 0; int j = 1;

   int64 answer = -myINF;
   int left, right;
   for (int i = 1; i <= n; i ++) {
      sp += v[i];
      if (sp - min_sp > answer) {
        answer = sp - min_sp;
        left = j;
        right = i;
      }
      else if (sp - min_sp == answer && j < left) {
        left = j;
        right = i;
      }
      if (sp < min_sp) {
        min_sp = sp;
        j = i + 1;
      }
   }
   fout << answer << " " << left << " " << right;
    return 0;
}