Cod sursa(job #3316134)

Utilizator Luca-MarcusLuca Blaj Luca-Marcus Data 17 octombrie 2025 15:11:26
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <iostream>

using namespace std;
int v[6000005];
int main()
{
    int n,st, dr, st1, dr1;
    cin>>n;
//    sp[0]=0;
//    for(int i=1;i<n;++i){
//        cin>>a;
//        sp[i]=sp[i-1]+a;
//    }
//    for(int i=0;i<n;++i){
//        for(int j=0;j<i;j++){
//            ss=sp[i]-sp[j];
//            if(ss>smax){
//                smax=ss;
//                k=j+1;
//                g=i;
//            }
//        }
//    }
//    cout<<smax<<" "<<k<<" "<<g;
    for (int i=0;i<n;++i){
        cin>>v[i];
    }
    long long s=0,smax=-200000;
    for(int i=0;i<n;++i){

        s=s+v[i];
        dr1=i;
        if(smax<s){
            smax=s;
            dr=dr1;
            st=st1;
        }

        if(s<0){
            s=0;
            st1=i+1;
        }

    }
    cout<<smax<<" "<<st+1<<" "<<dr+1;
    return 0;
}