Cod sursa(job #3238818)

Utilizator KRISTY06Mateiu Ianis Cristian Vasile KRISTY06 Data 30 iulie 2024 19:44:35
Problema Subsecventa de suma maxima Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.88 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

#define MIN_VALUE -2000000000
#define MAX_LEN 6000001

int a[MAX_LEN], sum[MAX_LEN];
int maxSum = MIN_VALUE;

int main() {
    int n;
    fin >> n;
    for (int i = 1; i <= n; ++i) {
        fin >> a[i];
        sum[i] = sum[i - 1] + a[i];
    }
    int left = 0, right = 0;
    for (int i = 1; i <= n; ++i) {
        for (int j = i; j <= n; ++j) {
            if (sum[j] - sum[i - 1] > maxSum) {
                left = i;
                right = j;
                maxSum = sum[j] - sum[i - 1];
            } //else if (sum[j] - sum[i - 1] == maxSum && j - i + 1 < right - left + 1) {
               // left = i;
               // right = j;
           // }
        }
    }
    fout << maxSum << ' ' << left << ' ' << right;
    return 0;
}
/*










*/