Cod sursa(job #2922269)

Utilizator Barbu_MateiBarbu Matei Barbu_Matei Data 7 septembrie 2022 16:45:14
Problema Subsecventa de suma maxima Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;

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

const int MAX_LEN = 6000000;
int ps[MAX_LEN + 1], v[MAX_LEN + 1];

int main()  {
    int n;
    fin >> n;
    for (int i = 1; i <= n; ++i) {
        fin >> v[i];
        ps[i] = ps[i - 1] + v[i];
    }
    int sum, max = -2147483648, indexS, indexE;
    for (int i = 1; i <= n; ++i) {
        for (int j = 1; j <= i; ++j) {
            sum = ps[i] - ps[j - 1];
            if (sum > max) {
                max = sum;
                indexS = j;
                indexE = i;
            }
        }
    }
    fout << max << " " << indexS << " " << indexE;
}