Cod sursa(job #894403)

Utilizator lucian666Vasilut Lucian lucian666 Data 26 februarie 2013 21:07:07
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb



#include<fstream>

#define NN 6000009
#define INF 0x3f3f3f3f

using namespace std;
ofstream out("ssm.out");

int n , v[NN];

int main()
{
    ifstream in("ssm.in");

    in >> n;
    for( int i=1 ; i<=n ; i++)
     in>> v[i];

    double sum = 0 , sb = -INF ;
    int  poz = -1 , beg = -1 , endd = -1;

        for( int i=1 ; i<=n ; i++)
        {
            if ( sum < 0 )
            {
                sum = v[i];
                poz = i;
            }
            else
                sum += v[i];

            if ( sum > sb )
            {
                sb = sum;
                beg = poz;
                endd = i;
            }
        }

        out << sb << " " << beg << " " << endd;

        return 0;
}