Cod sursa(job #2795627)

Utilizator paul911234vaida paul paul911234 Data 6 noiembrie 2021 18:33:12
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;

const int SIZE_N = 6000001;

int sp[SIZE_N] = {0};

int main() {
    ifstream fin("ssm.in");
    ofstream fout("ssm.out");
    int x, n;
    cin >> n >> x;
    sp[1] = x;
    for (int i = 2; i <= n; ++i) {
        cin >> x;
        sp[i] = sp[i - 1] + x;
    }
    int maxim = sp[2] - sp[1], start = 1, end = 2;
    for (int i = 1; i <= n; ++i) {
        for (int j = n; j > i; --j) {
            if (sp[j] - sp[i - 1] > maxim) {
                maxim = sp[j] -sp[i - 1];
                start = i;
                end = j;
            }
        }
    }
    cout << maxim << ' ' << start << ' ' << end;
  }