Cod sursa(job #2290294)

Utilizator Victoras2006Nicola Victor Teodor Victoras2006 Data 26 noiembrie 2018 11:34:14
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>

#include <cstdio>



using namespace std;

int main() {
    FILE *fin = fopen( "ssm.in", "r" ), *fout = fopen( "ssm.out", "w" );
    int n, a, sum, st, dr, smax, i, x, y;
    fscanf( fin, "%d", &n );
    smax = -2147483648;
    sum = 0;
    x = 1;
    for ( i = 1; i <= n; i ++ ) {
        fscanf( fin, "%d", &a );
        if ( sum < 0 ) {
            sum = a;
            x = y = i;
        }

        else {
            sum += a;
            y = i;
        }

        if ( sum > smax ) {
            smax = sum;
            st = x;
            dr = y;
        }

    }

    fprintf( fout, "%d %d %d\n", smax, st, dr );

    return 0;

}