Cod sursa(job #2052470)

Utilizator Eduard24Eduard Scaueru Eduard24 Data 30 octombrie 2017 17:31:38
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>

using namespace std;
ifstream fin("ssm.in");;
ofstream fout("ssm.out");

int n,i,j,v[6000002],s,smax,c,maxneg,ii,jj;

int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>v[i];
    }
    c=0;
    maxneg=-2000000000;
    smax=0;
    s=0;
    i=1;
    for(j=1;j<=n;j++)
    {
        if(v[j]>=0) c++;
        if(v[j]<0 && v[j]>maxneg) maxneg=v[j];
        s=s+v[j];
        if(s>=0)
        {
            if(s>smax)
            {
                smax=s;
                ii=i;
                jj=j;
            }
        }
        else
        {
            i=j+1;
            s=0;
        }
    }
    if(c==0) fout<<maxneg<<" "<<ii<<" "<<jj;
    else fout<<smax<<" "<<ii<<" "<<jj;
    return 0;
}