Cod sursa(job #2493072)

Utilizator anisca22Ana Baltaretu anisca22 Data 15 noiembrie 2019 21:37:41
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>
#define NMAX 6000005
#define INF 0x3f3f3f3f

using namespace std;

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

long long N, Smin, Smax = - INF, lastMin = 1, indMin, indMax, partialSum;

int main()
{
    fin >> N;
    for (int i = 1; i <= N; i++)
    {
        long long val;
        fin >> val;
        partialSum += val;
        if (partialSum < Smin)
        {
            Smin = partialSum;
            lastMin = i + 1;
        }
        else if (partialSum - Smin > Smax)
        {
            Smax = partialSum - Smin;
            indMin = lastMin;
            indMax = i;
        }
    }
    fout << Smax << " " << indMin << " " << indMax;
    return 0;
}