Cod sursa(job #2595194)

Utilizator Katherine456719Swan Katherine Katherine456719 Data 7 aprilie 2020 12:08:29
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.96 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int main()
{
    int sumabuna=-200000000,sum=0,bunstanga=-1,n,bundreapta=-1,curentstanga=1,curentdreapta=1;
    f>>n;
    for(int i=1; i<=n; i++)
    {
        int x;
        f>>x;
        if(sum>=0)
            sum+=x;
        else
        {
            sum=x;
            curentstanga=i;
        }
        if(sumabuna<sum or bunstanga==-1)
        {
            sumabuna=sum;
            bunstanga=curentstanga;
            bundreapta=i;
        }
        else
            if(sumabuna<sum and curentstanga<bunstanga)
            {
                bunstanga=curentstanga;
                bundreapta=i;
            }
            else if(sumabuna<sum and curentstanga==bunstanga and bundreapta<i)
            {
                bundreapta=i;
            }
    }
    g<<sumabuna<<" ";
    g<<bunstanga<<" "<<bundreapta;
    return 0;
}