Cod sursa(job #2143260)

Utilizator BaraianTudorBaraian Tudor Stefan BaraianTudor Data 25 februarie 2018 19:06:41
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
long long sp,spm=LLONG_MIN;
int n,a,dr=1,st=1,drm,stm,ok=0;
int main()
{
    in>>n;
    for(int i=1;i<=n;++i)
    {
        in>>a;
        if(ok)
        {
            if(a+sp>=0)
           {
               sp+=a;
               dr=i;
           }
           else
            {
                st=i+1;
                dr=st;
                sp=0;
            }
        }
           if(!ok)
              {
                  sp=a;
                  st=i;
                  dr=i;
                  if(sp>=0)
                    {
                        ok=1;
                    }
              }
           if(spm<sp)
           {
               spm=sp;
               stm=st;
               drm=dr;
           }
    }
    out<<spm<<' '<<stm<<' '<<drm;
    return 0;
}