Cod sursa(job #1416170)

Utilizator PaulDurlaAndronie safafasafs PaulDurla Data 7 aprilie 2015 14:59:48
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 1.14 kb
#include <fstream>
#include <iostream>
//#include <cstring>

#define dimmax 6000000

using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n;
    int a[dimmax],best[dimmax],bestSum=0,i=0,auxpozibestSum;
    int pozibestSum,pozsbestSum;
int main()
{
    /*int n;
    int a[dimmax],best[dimmax],bestSum=0,i=0,auxpozibestSum;
    int pozibestSum,pozsbestSum;*/
    fin>>n;
    //memset(best,0,sizeof(best));
    //memset(a,0,sizeof(a));
    fin>>a[0];
    best[0]=a[0];
    bestSum=best[0];
    pozibestSum=0;pozsbestSum=0;
 //   fout<<best[i]<<' ';
    for(i=1;i<n;i++)
    {
        fin>>a[i];
        best[i]=a[i];
        if (best[i]<best[i-1]+a[i])
        {
            best[i]=best[i-1]+a[i];
 //           fout<<best[i]<<' ';

        }
        auxpozibestSum=pozibestSum;
        if(best[i-1]<0 and pozibestSum<i)
            {
                pozibestSum=i;

            }
        if (bestSum<best[i])
        {
            bestSum=best[i];
            pozsbestSum=i;
        }
    }
    fout<<bestSum<<' '<<pozibestSum+1<<' '<<pozsbestSum+1;
    fin.close(); fout.close();
    return 0;
}