Cod sursa(job #750887)

Utilizator vendettaSalajan Razvan vendetta Data 23 mai 2012 16:21:01
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>

using namespace std;

#define inf (1<<30)

int n, bst, suma, st, dr, temp;

int main(){

    ifstream f("ssm.in");
    ofstream g("ssm.out");

    bst = -inf;

    f >> n;
    for(int i=1; i<=n; i++){
        int x;
        f >> x;
        if (suma + x < x) suma = x, temp = i;//daca obtin o suma mai mica ca si x incep o noua subsecventa
            else suma += x;//altfel o continui pe cea actuala actualizand`o cu x

        if (bst < suma){
            bst = suma;
            st = temp;
            dr = i;
        }
    }

    g << bst << " " << st << " " << dr << "\n";

    f.close();
    g.close();

    return 0;

}