Cod sursa(job #1767835)

Utilizator MoodyFaresFares Mohamad MoodyFares Data 29 septembrie 2016 19:48:46
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <cstdio>
#include <climits>
using namespace std;
int main () {
    freopen ( "ssm.in", "r", stdin );
    freopen ( "ssm.out", "w", stdout );
    int n, i, x, my_max, my_min, sp, st, dr, poz_min;
    scanf ( "%d", &n );
    my_max = INT_MIN;
    sp = my_min = poz_min = 0;
    for ( i = 1 ; i <= n ; ++ i ) {
        scanf ( "%d", &x );
        sp += x;
        if ( my_max < sp - my_min ) {
            my_max = sp - my_min;
            dr = i;
            st = poz_min + 1;
        }
        if ( my_min > sp ) {
            my_min = sp;
            poz_min = i;
        }
    }
    printf ( "%d %d %d", my_max, st, dr );
    return 0;
}