Cod sursa(job #1789948)

Utilizator MoonfireFilip Sebastian Moonfire Data 27 octombrie 2016 17:26:20
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 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 = -(int)2e9;
    int UtilityF, UtilityL;
    int load, cobai;
    scanf("%d", &load);

    for (int i = 0; i <load; i++) {
        scanf("%d", &cobai);

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

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

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