Cod sursa(job #2088589)

Utilizator ioanailincaMoldovan Ioana Ilinca ioanailinca Data 15 decembrie 2017 15:46:48
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>

using namespace std;

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

int main()
{
    int n, val;
    fin >> n;

    int temporarySum = 0, bestSum = -2e9;
    int temporaryIndex = 1;
    int beginningIndex, endingIndex;

    for (int i = 1; i <= n; ++i) {
        fin >> val;
        if (temporarySum < 0) {
            temporarySum = val;
            temporaryIndex = i;
        }
        else
            temporarySum += val;

        if (temporarySum > bestSum) {
            bestSum = temporarySum;
            beginningIndex = temporaryIndex;
            endingIndex = i;
        }
    }

    fout << bestSum << ' ' << beginningIndex << ' ' << endingIndex << '\n';

    fin.close();
    fout.close();
    return 0;
}