Cod sursa(job #2958063)

Utilizator andiRTanasescu Andrei-Rares andiR Data 24 decembrie 2022 13:52:25
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <fstream>

const long long ValMax=(long long)9999999999;
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");

int n, indin, indsf, i, nr, indincrt, indsfcrt;
long long sumcrt=-ValMax, summx=-ValMax;
int main()
{
    fin>>n;
    for (i=0;i<n;i++){
        fin>>nr;
        if (sumcrt+nr<nr){
            sumcrt=nr;
            indincrt=indsfcrt=i;
        }
        else{
            sumcrt+=nr;
            indsfcrt++;
        }
        if (sumcrt>summx){
            summx=sumcrt;
            indin=indincrt;
            indsf=indsfcrt;
        }
    }
    if (sumcrt>summx){
        summx=sumcrt;
        indin=indincrt;
        indsf=indsfcrt;
    }
    fout<<summx<<' '<<indin+1<<' '<<indsf+1;
    return 0;
}