Cod sursa(job #2690497)

Utilizator Fantastic_Mantudor voicu Fantastic_Man Data 24 decembrie 2020 11:54:07
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

using namespace std;
ifstream fin ( "ssm.in" );
ofstream fout ( "ssm.out" );
int main() {
    int n, i, x, xmax, ind, sum, maxy, st, left, right;
    fin >> n;
    sum = 0;
    maxy = 0;
    xmax = - ( 1 << 30 ), ind = 0;
    for ( i = 1; i <= n; i++ ) {
        fin >> x;
        if ( x > xmax )
            xmax = x, ind = i;
        sum += x;
        if ( sum < 0 )
            st = i, sum = 0;
        if ( sum > maxy ) {
            maxy = sum;
            left = st + 1;
            right = i;
        }
    }
    if ( xmax < 0 )
        fout << xmax << ' ' << ind << ' ' << ind << '\n';
    else
        fout << maxy << ' ' << left << ' ' << right << '\n';


    return 0;
}