Cod sursa(job #3153238)

Utilizator juniorOvidiu Rosca junior Data 28 septembrie 2023 18:03:17
Problema Subsecventa de suma maxima Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 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++) {
        suma = 0;
        for (d = s; d <= n; d++) {
            suma = suma + a[d];
            if (suma > m) {
                m = suma; sumaf = suma; sf = s; df = d;
            }
        }
    }
    fout << sumaf << ' ' << sf << ' ' << df;
    return 0;
}

/*

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

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