Cod sursa(job #2547506)

Utilizator maria.osman10Osman Maria maria.osman10 Data 15 februarie 2020 13:35:23
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-32 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <ifstream>
using namespace std;

#define NMAX 6000005

ifstream f("ssm.in");
ofstream g("ssm.out");

int v[NMAX], n;

int main() {
    int i, sumbest, left, right;
    f >> n;
    for(i = 1; i <= n; i++) {
        f>>v[i];
    }
    sumbest=v[1];
    left = right = 1;
    int start = 1, sum = 0;
    for(i = 1; i <= n; i++) {
        sum += v[i];
        if(sum > sumbest) {
            sumbest = sum;
            left = start;
            right = i;
        }
        if(sum < 0) {
            start = i + 1;
            sum = 0;
        }
    }
    
    g << sumbest << " " << left << " " << right << "\n";
    
    
    
    return 0;
}