Cod sursa(job #1789921)

Utilizator MoonfireFilip Sebastian Moonfire Data 27 octombrie 2016 17:15:49
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <stdio.h>
using namespace std;

int main() {
    freopen ("ssm.in", "r", stdin);
    freopen ("ssm.out", "w", stdout);
    int first = 1, last, sum = 0, MAXIsum = -2e9;
    int UtilityF, UtilityL;
    int load, cobai;
    cin >> load;

    for (int i = 1; i <= load; i++) {
        cin >> cobai;

        if (sum < 0) {
            if (sum == MAXIsum) {
                UtilityF = first;
                UtilityL = last;
            }
            sum = cobai;
            first = i;
        } else {
            sum += cobai;
            last = i;
        }

        if (sum > MAXIsum)
            MAXIsum = sum;
    }

    cout << MAXIsum << " " << UtilityF << " " << UtilityL;
}