Cod sursa(job #654693)

Utilizator slycerdan dragomir slycer Data 30 decembrie 2011 19:50:07
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
/* 
 * File:   Subsecventadesumamaxima.cpp
 * Author: slycer
 *
 * Created on December 30, 2011, 7:38 PM
 */

#include <cstdlib>
#include <fstream>
using namespace std;

/*
 * 
 */
int main(int argc, char** argv) {

    ifstream input("ssm.in");
    ofstream output("ssm.out");
    int n; 
    input >> n; 
    //long int data[n+1];
    int start=-1; 
    long int val = -10000000000;
    int bstVal = val; 
    int bstStart = -1; 
    int bstEnd = -1; 
    for ( int i=1; i<=n; i++){
        long int aux; 
        input >> aux; 
        if ( aux + val < aux ){
            start = i;
            val = aux;  
        } else {
            val += aux; 
        }
        
        if ( bstVal < val ){
            bstVal = val; 
            bstStart = start; 
            bstEnd = i; 
        }
        //input >> data[i];
    }
    
    output << bstVal << " " << bstStart << " " << bstEnd; 
    
    return 0;
}