Cod sursa(job #872570)

Utilizator BeilandArnoldArnold Beiland BeilandArnold Data 6 februarie 2013 11:55:09
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
#include <vector>

int main(){
    std::ifstream fin("ssm.in");
    std::ofstream fout("ssm.out");
    unsigned N; fin>>N;
    std::vector<int> Sir(N);
    for(unsigned i=0;i<N;++i) fin>>Sir[i];

    unsigned beg=0, end=0, sind=0;
    int bestsum=Sir[0], best=Sir[0];
    for(unsigned i=1; i<N; ++i){
        if(best+Sir[i]>=Sir[i]) best = best+Sir[i];
        else{ best=Sir[i]; sind=i; }
        if(best>bestsum){
            bestsum=best;
            beg=sind; end=i;
        }
    }
    fout<<bestsum<<' '<<beg+1<<' '<<end+1<<'\n';
}