Cod sursa(job #2183611)

Utilizator DanutAldeaDanut Aldea DanutAldea Data 23 martie 2018 11:54:28
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#include <climits>
using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int n,i,j,v[6000001],BestI,m,Bst,Bdr,st,dr;

int main(){
    fin>>n;
    for(i=1;i<=n;i++){
        fin>>v[i];
    }
    m=INT_MIN;
    BestI=-2;

    for(i=1;i<=n;i++){
        ///BestI=max(BestI+v[i],v[i]);

        if(BestI+v[i]>v[i]){
            Bdr++;
            BestI+=v[i];
        }else{
            BestI=v[i];
            Bst=i;
            Bdr=i;
        }

        if(BestI>m){
            m=BestI;
            st=Bst;
            dr=Bdr;
        }
    }
    fout<<m<<" "<<st<<" "<<dr;

    return 0;
}