Cod sursa(job #1946238)

Utilizator tudoras8tudoras8 tudoras8 Data 29 martie 2017 23:33:12
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>

using namespace std;

int n;

int main(int argc, const char * argv[]) {
    ifstream cin("ssm.in");
    ofstream cout("ssm.out");
    
    cin >> n;
    cout << n << endl;
    int bestSum = -2e10, sum = 0, begin, end, idx;
    for (int i = 1; i <= n; i++) {
        int x;
        cin >> x;
        
        if (sum + x >= x) {
            sum = sum + x;
        } else {
            sum = x;
            idx = i;
        }
        
        if (sum > bestSum) {
            bestSum = sum;
            begin = idx;
            end = i;
        }
    }
    cout << bestSum << ' ' << begin << ' ' << end << '\n';
    
    return 0;
}