Cod sursa(job #2263566)

Utilizator game_difficultyCalin Crangus game_difficulty Data 18 octombrie 2018 19:56:47
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.96 kb
#include <fstream>

using namespace std;

ifstream cin("ssm.in");
ofstream cout("ssm.out");

int main()
{
    int n,x,s=0,sm=0,nn=0,mn,a=0,b=0,t=1,p,ra=0,rb=0;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>x;
        if(x<0)
        {
            if(nn==0)
            {
                mn=x;
                p=i;
            }
            else if(x>mn)
            {
                mn=x;
                p=i;
            }
            nn++;
        }
        s+=x;
        if(s>=0)
        {
            if(s>sm)
            {
                sm=s;
                if(t==1)
                    a=b+1;
                b=i;
                t=0;
                ra=a;
                rb=b;
            }
        }
        else
        {
            s=0;
            t=1;
            b=i;
        }
    }
    if(nn==n)
        cout<<mn<<' '<<p<<' '<<p;
    else
        cout<<sm<<' '<<ra<<' '<<rb;
    return 0;
}