Cod sursa(job #2649966)

Utilizator zarg169Roxana zarg169 Data 16 septembrie 2020 22:14:55
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 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, leftIndex = 0,  initialSum = 0, initialMin = 0, answer;
    fin >> n;

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

        answer = initialSum - initialMin;

        if (answer > maxSum) {
            maxSum = answer;
            iMin = leftIndex + 1;
            iMax = i;
        }

        if (initialSum < initialMin) {
            initialMin = initialSum;
            leftIndex = i;
        }

    }

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