Cod sursa(job #3309264)

Utilizator EddyGGRIGORAS EDUARD NICOLAS EddyG Data 3 septembrie 2025 10:57:07
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <fstream>

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

const int n_max=6e6;
long long myinf=3e9;
long long v[n_max+1];
int main()
{
    int n;
    fin>>n;
    for(int i=1;i<=n;i++){
        fin>>v[i];
    }

    long long sum=0,min_sum=0;
    long long ansewer=-myinf;
    int j=1,st,dr;

    for(int i=1;i<=n;i++){
        sum=sum+v[i];

        long long candidat=sum-min_sum;
        if(candidat>ansewer)
        {
            ansewer=candidat;
            st=i;
            dr=j;
        }
        else if(candidat==ansewer && j<st)
        {
           st=j;
           dr=i;
        }
        if(sum<min_sum)
        {
            j=i+1;
            min_sum=sum;
        }
    }
    fout<<ansewer<<" "<<dr<<" "<<st;
    return 0;
}