Cod sursa(job #2491408)

Utilizator CosminMorarMorar Cosmin Andrei CosminMorar Data 12 noiembrie 2019 16:06:28
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <fstream>
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n, valoare, valMax = INT_MIN, pozValMax = INT_MAX, pozValMin = INT_MIN, pozMin;
int v[6000001];

int main() {
    fin >> n;
    v[0] = -1;
    for (int i = 1; i <= n; i++) {
        fin >> valoare;
        v[i] = max(v[i - 1] + valoare, valoare);
        if (v[i] >= 0 && v[i - 1] < 0)
            pozMin = i;
        if (v[i] > valMax) {
            valMax = v[i];
            pozValMax = i;
            pozValMin = pozMin;
        }
    }
    if (valMax < 0)
        pozValMin = pozValMax;
    fout << valMax << ' ' << pozValMin << ' ' << pozValMax;
    return 0;
}