Cod sursa(job #1149998)

Utilizator chrisuleanaiorgoveanu christian chrisuleana Data 22 martie 2014 14:50:44
Problema Subsecventa de suma maxima Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <cstdio>

using namespace std;
int v[1000000];
int main()
{
    FILE *fin = fopen( "ssm.in", "r" ), *fout = fopen( "ssm.out", "w" );
    int n, smax = 0, pmax = 1, umax = 1, x = 0, sc = 0, p;
    fscanf( fin, "%d", &n );
    for( int i = 0; i < n; i++ )
        fscanf( fin, "%d", &v[i] );
    for( int i = 0; i < n; i++ ){
        if( sc < 0 ){
            sc = 0;
            p = i;
        }
        sc += v[i];
        if( sc > smax ){
            smax = sc;
            pmax = p;
            umax = i;
    }
    }
    fprintf( fout, "%d %d %d", smax, pmax + 1, umax + 1 );
    return 0;
}