Cod sursa(job #1789933)

Utilizator MoonfireFilip Sebastian Moonfire Data 27 octombrie 2016 17:20:47
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 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;
    long long sum = 0, MAXIsum = -2e9;
    int UtilityF, UtilityL;
    int load, cobai;
    cin >> load;

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

        if (sum < 0) {
            sum = cobai;
            first = i;
        } else {
            sum += cobai;
        }

        if (sum > MAXIsum) {
            MAXIsum = sum;
            UtilityF = first;
            UtilityL = last;
        }
    }

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