Cod sursa(job #3339283)

Utilizator Lascu_NicoleLascu Nicole Iraida Lascu_Nicole Data 7 februarie 2026 12:10:02
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>
#define minn 1e9
using namespace std;

int n, s, x, start, stop, maxi, beg, stp, mini = minn;

int main()
{
    ifstream cin ("ssm.in");
    ofstream cout ("ssm.out");
    
    cin >> n;
   
    for (int i = 0; i < n; i++)
     {
         cin >> x;
         if (s + x < 0) {
             s = 0;
             start = i + 1;
         }
        else  if (s + x >= 0) s += x;
         if (s > maxi) {
             maxi = s;
             stop = i;
         }
         if ((s == maxi) && (stop - start + 1 < mini))
         {
             beg = start;
             stp = stop;
             mini = stop - start + 1;
         }
     }
    
     beg = start;
     stp = stop;
     cout << maxi << " " << beg + 1 << " " << stp + 1;
     
     return 0;
}