Cod sursa(job #2556503)

Utilizator mihneacazCazacu Mihnea mihneacaz Data 24 februarie 2020 22:49:50
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>

using namespace std;

const int INF = 2 * 1e9;

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

int main() {
    int n;
    cin >> n;
    int sc, st, dr, left, right;
    sc = st = dr = left = right = 0;
    int maxim = -INF;
    for(int i = 1; i <= n; ++i) {
        int x;
        cin >> x;
        if(sc + x >= x) {
            sc += x;
            ++dr;
        } else {
            st = dr = i;
            sc = x;
        }
        if(sc > maxim) {
            maxim = sc;
            left = st;
            right = dr;
        }
    }
    cout << maxim << " " << left << " " << right << "\n";
    return 0;
}