Cod sursa(job #2293457)

Utilizator mirceatlxhaha haha mirceatlx Data 30 noiembrie 2018 23:35:32
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-32 Status done
Runda Arhiva educationala Marime 0.88 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int a[6000005],b[6000005],i,n,xstart,yend,best,ibegin,iend;

void Citire(int a[],int n)
{
    for(i=1;i<=n;i++)
        fin>>a[i];
}

void SSM(int a[], int n, int b[])
{
    //int best;
    best=a[1];
    xstart=yend=1;
    for(i=2;i<=n;i++)
    {
        b[i]=a[i];
        if(b[i]<b[i-1]+a[i])
        {
             b[i]=b[i-1]+a[i];
             yend=i;
        }

            else
            {
                xstart=i;
                yend=i;
            }

        if(best<b[i])
        {
            best=b[i];
            yend=i;
            ibegin=xstart;
            iend=yend;
        }

    }
    //return best;
}
int main()
{
    fin>>n;
    Citire(a,n);
    SSM(a,n,b);
    fout<<best<<" "<<ibegin<<" "<<iend;
    return 0;
}