Cod sursa(job #1369268)

Utilizator somuBanil Ardej somu Data 2 martie 2015 23:09:58
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
#define nmax 6000005
#define inf 1<<30

using namespace std;

int n, best, lo, hi, x, s, t;

int main() {
    
    ifstream fin("ssm.in");
    ofstream fout("ssm.out");
    
    best = -inf;
    
    fin >> n;
    for (int i = 1; i <= n; i++) {
        fin >> x;
        
        if (s + x < x) {
            t = i;
            s = x;
        } else {
            s += x;
        }
        
        if (s > best) {
            best = s;
            lo = t, hi = i;
        }
        
    }
    
    fout << best << " " << lo << " " << hi << "\n";

    fin.close();
    fout.close();
    
    return 0;
}