Cod sursa(job #1650847)

Utilizator alexandru.ghergutAlexandru-Gabriel Ghergut alexandru.ghergut Data 11 martie 2016 20:57:20
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>

using namespace std;

int main()
{
    int N, a, i;
    ifstream f("ssm.in");
    f >> N >> a;
    int start = 0, finish = 0, bestSum = a, minSum = 0, minSumIndex = 0;
    int currentSum = a;
    for (i = 1; i < N; i++)
    {
        f >> a;
        currentSum += a;
        if (currentSum - minSum > bestSum)
        {
            bestSum = currentSum - minSum;
            start = minSumIndex;
            finish = i;
        }
        if (currentSum < minSum)
        {
            minSum = currentSum;
            minSumIndex = i + 1;
        }
    }
    f.close();

    ofstream g("ssm.out");
    g << bestSum << ' '<< start + 1 << ' ' << finish + 1;
    g.close();

    return 0;
}