Cod sursa(job #274061)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 9 martie 2009 13:10:04
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <fstream>
#include <stdio.h>

using namespace std;

int inc,sf,S_max=-0x3f3ff;
int S,in,n,x;

void citire()
{
     scanf("%d ",&n);
     for (int i=1;i<=n;i++)
     {
          scanf ("%d",&x);
          S+=x;
          if (S<0)
          {
               in=i+1;
               S=0;
          }
          if (S>S_max)
          {
               inc=in;
               sf=i;
               S_max=S;
          }
          else
               if (S==S_max)
               {
                    if (i-in<sf-inc)
                    {
                         sf=i;
                         inc=in;
                         S_max=S;
                    }
               }
     }
}

void solve()
{
}

int main ()
{
     freopen ("ssm.in","r",stdin);
     freopen ("ssm.out","w",stdout);
     citire();
     printf("%d %d %d\n",S_max,inc,sf);
     return 0;
}