Cod sursa(job #2043046)

Utilizator georgianamaximMaxim Georgiana georgianamaxim Data 19 octombrie 2017 16:46:06
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>
#define DMAX 6000001
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int smax[DMAX],v[DMAX],n,maxim,pstart=1,pend=1,j=1;
int main()
{
    f>>n;
    for(int i=0;i<n;i++)
        f>>v[i];
    maxim=v[0];
    for(int i=1;i<=n;i++)
        {
            if(smax[i-1]<0)
            {
                smax[i]=v[i-1];
                j=i;
            }
            else smax[i]=smax[i-1]+v[i-1];
            if(smax[i]>maxim)
            {
                maxim=smax[i];
                pend=i;
                pstart=j;
            }
            else if(smax[i]==maxim)
                    if(pstart>j)
                        pstart=j;
        }
    g<<maxim<<" "<<pstart<<" "<<pend;
    return 0;
}