Cod sursa(job #3153233)

Utilizator juniorOvidiu Rosca junior Data 28 septembrie 2023 17:52:16
Problema Subsecventa de suma maxima Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>

using namespace std;

ifstream fin("ssm.in");   // fisier de intrare (input)
ofstream fout("ssm.out"); // fisier de iesire  (output)
int n, a[6000001], suma, m, sumaf, sf, df, s, d, i;

int main() {
    fin >> n;
    for (i = 1; i <= n; i++)
        fin >> a[i];
    m = a[1]; // !
    for (s = 1; s <= n; s++)
        for (d = s; d <= n; d++) {
            suma = 0; // !
            for (i = s;i <= d; i++)
                suma = suma + a[i];
            if (suma > m) {
                m = suma; sumaf = suma; sf = s; df = d;
            }
        }
    fout << sumaf << ' ' << sf << ' ' << df;
    return 0;
}

/*

7
 5 -6  3  4 -2  3 -3
 1  2  3  4  5  6  7
          s
                   d

-5 -6 -3 -4 -2 -3 -3    
*/