Cod sursa(job #3238822)

Utilizator KRISTY06Mateiu Ianis Cristian Vasile KRISTY06 Data 30 iulie 2024 19:53:58
Problema Subsecventa de suma maxima Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 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 >= 1; --j) {
            if (sum[i] - sum[j - 1] > maxSum) {
                left = j;
                right = i;
                maxSum = sum[i] - sum[j - 1];
            } else if (sum[i] - sum[j - 1] == maxSum && j < left) {
                left = j;
                right = i;
            }
        }
    }
    fout << maxSum << ' ' << left << ' ' << right;
    return 0;
}
/*










*/