Cod sursa(job #1383285)

Utilizator CiurezAndreiCiurez Marius-Andrei CiurezAndrei Data 10 martie 2015 08:05:08
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
#include <limits.h>
#define DIM 6000010
using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int n , S[DIM];

int main()
{
    fin >> n;

    for(int i = 1; i <= n; i ++)
    {
        fin >> S[i];
    }

    int dmax = INT_MIN;
    int d = 0, i2 = 0;
    int start = 0;
    int finish = 0;
    for(int i = 1; i <= n; i ++)
    {
        if(d < 0)
        {
            d = S[i];
            i2 = i;
        }
        else
        {
            d += S[i];
        }
        if(d > dmax)
        {
            dmax = d;
            start = i2;
            finish = i;
        }

    }

    fout << dmax << " " << start << " " << finish;

    return 0;
}