Cod sursa(job #2220295)

Utilizator MoldooooooooMoldoveanu Stefan Moldoooooooo Data 11 iulie 2018 11:13:41
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int N, i, stmx, drmx, st, dr, lg;
long long S, Sum, Summx;
int main()
{
    fin>>N;
    st=dr=1;
    for(i=1; i<=N; i++){
        fin>>S;
        if(!lg){
            if(S>=0) {lg++; Sum=S; st=dr=i;}
            else if(S>Summx) {Summx=S; stmx=drmx=i;}
        }
        else{
            if(S+Sum<=0){
                Sum=lg=0;
                st=dr=i+1;
            }
            else{
                Sum+=S;
                lg++;
                dr++;
            }
        }
        if(Sum>Summx){
            Summx=Sum;
            stmx=st;
            drmx=dr;
        }
    }
    fout<<Summx<<" "<<stmx<<" "<<drmx;
    return 0;
}