Cod sursa(job #1626385)

Utilizator casuneanu.andreiCasuneanu Andrei Dan casuneanu.andrei Data 3 martie 2016 08:21:32
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#define IN "ssm.in"
#define OUT "ssm.out"
using namespace std;
ifstream fin(IN);
ofstream fout(OUT);

int best, maxim = -(1<<30), inc, sf;
int n;
int x;

void solve();


int main(){
    solve();
    fout <<maxim<<' '<<inc<<' '<<sf<<'\n';
    fout.close();
    return 0;
}

void solve(){
    int i, st = 0;
    fin >>n;
    best = -1;
    for (i = 1; i <= n; ++i){
        fin >>x;
        if (best < 0){
            best = x;
            st = i;
        }
        else{
            best += x;
        }

        if (best > maxim){
            maxim = best;
            inc = st;
            sf = i;
        }

    }
}