Cod sursa(job #3303685)

Utilizator chisianisChis Ianis-Alexandru chisianis Data 17 iulie 2025 11:09:30
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <iostream>
#include <stack>
#include <queue>
#include <deque>
using namespace std;

const int maxn = 6e6;

int main()
{
#ifndef LOCAL
    freopen("ssm.in", "r", stdin);
    freopen("ssm.out", "w", stdout);
#endif
    int n; cin >> n;
    vector<int> a(n + 1);
    for(int i = 1; i <= n; i++){
        cin >> a[i];
        a[i]+=a[i-1];
    }
    int imn = 0;
    int mx = a[1], st = 1, dr = 1, s = 0;
    for(int i = 1; i <= n; i++){
        s = a[i] - a[imn];
        if(s > mx){
            st = imn + 1;
            dr = i;
            mx = s;
        }
        if(a[i] < a[imn]) imn = i;
    }
    cout << mx << ' ' << st << ' ' << dr;
}

/*#ifndef LOCAL
    freopen("trompeta.in", "r", stdin);
    freopen("trompeta.out", "w", stdout);
#endif*/

































//hd5
// overthewire