Cod sursa(job #3303683)

Utilizator TudorAndreiHhHerta Tudor TudorAndreiHh Data 17 iulie 2025 11:07:49
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>
using namespace std;

const int max_n = 6e6;
int s[max_n+1];
int main()
{
    #ifndef LOCAL
    freopen("trompeta.in", "r", stdin);
    freopen("trompeta.out", "w", stdout);
    #endif

    int n, x;
    int min = 0;
    cin >> n;
    
    for(int i = 1; i<= n; i++)
    {
        cin >> x;
        s[i] = s[i-1]+x;
    }
    int smax = s[1];
    int st = 1, dr = 1;
    for(int i = 1; i<= n; i++)
    {
        if(s[i]- s[min] > smax)
        {
            smax = s[i] - s[min];
            st = min+1;
            dr = i;
        }
        if(s[i] < s[min])min = i;
    }
    cout << smax <<" "<< st <<" "<< dr;
    return 0;
}