Cod sursa(job #2473915)

Utilizator PodieDohotariu Adrian Podie Data 14 octombrie 2019 14:58:39
Problema Subsecventa de suma maxima Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>

#include <algorithm>

using namespace std;

const char iname[] = "ssm.in";

const char oname[] = "ssm.out";

const int MAXN = 7000005;



#define FOR(i, a, b)  for (int i = (a); i <= (b); ++ i)

#define Max(a, b)  ((a) > (b) ? (a) : (b))



int S[MAXN], n;



int main(void) {

    ifstream in(iname);

    in >> n;

    FOR (i, 1, n)  in >> S[i];



    int bestSum = -int(2e9), beg, end;

    FOR (i, 1, n) FOR (j, i, n) {

        int sum = 0;

        FOR (k, i, j)  sum += S[k];

        if (sum > bestSum)

            bestSum = sum, beg = i, end = j;

    }

    ofstream out(oname);

    out << bestSum << " " << beg << " " << end;



    in.close(), out.close();

    return 0;

}