Cod sursa(job #1953498)

Utilizator sunttttareTudor Popescu sunttttare Data 4 aprilie 2017 21:03:10
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <fstream>
#define VMAX 6000001

using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int a[VMAX];

int main()
{
    int n,smax,s,pozinc,pozsf,inc,i,minim,m;
    fin>>n;
    smax=0; s=0; pozinc=1; pozsf=0; inc=1; m=0; minim=0;
    for (i=1;i<=n;i++)
         {fin>>a[i];
         if (a[i]>=0)
            m++;
         if (minim>a[i])
            minim=a[i];
         }
     if (m==0)
        fout<<minim;
     else
     {for (i=1;i<=n;i++)
        {
         s=s+a[i];
         if (s>smax)
            {
             smax=s;
             pozsf=i; pozinc=inc;
            }
         if (s<0)
            {
             s=0;
             inc=i+1;
            }
        }
    fout<<smax<<' '<<pozinc<<' '<<pozsf;
     }
    return 0;
}