Cod sursa(job #2218207)

Utilizator AndreiDeltaBalanici Andrei Daniel AndreiDelta Data 3 iulie 2018 18:09:17
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <iostream>
#define Max 6000000
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
long N,x,sum,bestsum,start,stop,lg;

int main()
{
   f>>N;
   for(long i=1;i<=N;i++)
   {
       f>>x;
       if(x>=0) sum+=x,lg++;
       else
       {
           if(sum>bestsum)
           {
           bestsum=sum;
           stop=i-1;
           start=stop-lg+1;
           }
           if(sum+x<=0)
           lg=0,sum=0;
           else
             sum+=x,lg++;
       }
    if(sum>bestsum&&i==N)
     {
    bestsum=sum;
    stop=N;
    start=stop-lg+1;
    }
   }

   g<<bestsum<<" "<<start<<" "<<stop;
    return 0;
}