Cod sursa(job #3156319)

Utilizator TeogaloiuMatei Ionescu Teogaloiu Data 11 octombrie 2023 10:53:46
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>
#include <climits>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int main()
{
    int n,s=0,minim=0,valmax=INT_MIN,inc,sfr,incmin,auxmax=INT_MIN,auxmaxcord;
    fin>>n;
    for(int i=1;i<=n;i++)
    {
        int aux;
        fin>>aux;
        auxmax=max(aux,auxmax);
        if(aux==auxmax)
            auxmaxcord=i;
        s+=aux;
        if(s<minim or i==1){
            minim=s;
            incmin=i;
        }
        if(valmax<s-minim)
        {
        inc=incmin+1;
        sfr=i;
        if (inc>sfr)
            inc=sfr;
        valmax=s-minim;
        }
    }
    if (auxmax>0)
    fout<<valmax<<" "<<inc<<" "<<sfr;
    else
    fout<<auxmax<<" "<<auxmaxcord<<" "<<auxmaxcord;
    return 0;
}