Cod sursa(job #2163956)

Utilizator aeliusdincaaelius dinca aeliusdinca Data 12 martie 2018 20:44:36
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 kb
#include<fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int main()
{
    int n,i,st=1,mi=0,ma=0,s=0,dr,nr,mi2,st2,mm=-2100000000,ms;bool ok,okm=false;
    in>>n;
    for(i=1;i<=n;i++)
    {
        in>>nr;
        if(nr>mm)
        {
            mm=nr;
            ms=i;
        }
        s+=nr;
        if(s>ma)
        {
            ma=s;
            dr=i;
            ok=true;
            okm=true;
        }
        if(s<mi)
        {
            if(ok==true)
            {
                mi2=mi;
                if(i==1)
                    mi2=0;
                st2=st;
                ok=false;
            }
            mi=s;
            st=i+1;
        }
    }
    if(okm==false)
        out<<mm<<" "<<ms<<" "<<ms;
    else
    {
        if(st>dr)
            out<<ma-mi2<<" "<<st2<<" "<<dr;
        else
            out<<ma-mi<<" "<<st<<" "<<dr;
    }
    return 0;
}