Cod sursa(job #1953384)

Utilizator smoc_georgemarianSmoc George-Marian smoc_georgemarian Data 4 aprilie 2017 19:48:17
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <fstream>
#define NMAX 6000000
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n,i,a[NMAX];
bool gasit=0;
int smax,s,pozinc=1,pozf=0,inc=1,f=0,maxim,pmax;
int main()
{fin>>n;
for(i=1;i<=n;i++)
    {fin>>a[i];
    if(a[i]>0)
       gasit=1;}
if(gasit)
    {for(i=1;i<=n;i++)
        {
        s+=a[i];
        if(s<0)
            {
            s=0;
            inc=i+1;
            f=i;
            }
            else
                if(s>smax)
                {
                smax=s;
                pozf=i;
                pozinc=inc;
                }
        }
       fout<<smax<<" "<<pozinc<<" "<<pozf;}
else
    {
     maxim=a[1];pmax=1;
     for(i=2;i<=n;i++)
          if(a[i]>maxim)
             {maxim=a[i];
             pmax=i;}
     fout<<maxim<<" "<<pmax<<" "<<pmax;
    }





    return 0;
}