Cod sursa(job #2628696)

Utilizator mex7Alexandru Valentin mex7 Data 17 iunie 2020 08:38:24
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <bits/stdc++.h>
#define ll long long
using namespace std;

ifstream fin("date.in");
int sp[60001];

int main() {
    int n, x;
    int result = INT_MIN;
    cin >> n;
    for (int i = 1; i <= n; i++) {
        cin >> x;

        sp[i] = sp[i - 1] + x;
    }

    int start = 0, end = 0;
    for (int i = 1; i <= n; i++) 
        for (int j = i; j <= n; j++) 
            if (sp[j] - sp[i - 1] > result) {
                result = sp[j] - sp[i - 1];
                start = i;
                end = j;
            } else if (sp[j] - sp[i - 1] == result && j + 1 - i > end + 1 - start) {
                start = i;
                end = j;
            }
            

    cout << result << " " << start << " " << end; 

    return 0;
}