Cod sursa(job #2649920)

Utilizator zarg169Roxana zarg169 Data 16 septembrie 2020 20:02:49
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    ifstream fin ("ssm.in");
    ofstream fout ("ssm.out");
    int n;
    int maxSum = -20000000, iMin, iMax, initialSum = 0, initialMin = 0, answer;
    fin >> n;

    for (int i = 1; i <= n; ++i) {
        int currentValue;
        fin >> currentValue;
        initialSum += currentValue;

        answer = initialSum - initialMin;

        if (initialSum <= initialMin) {
            initialMin = initialSum;
            iMin = i;
        }
        if (answer > maxSum) {
            maxSum = answer;
            iMax = i;
        }
    }

    cout << maxSum << " " << iMin << " " << iMax;
    return 0;
}