Cod sursa(job #2457029)

Utilizator KernelovicNegrean Victor Kernelovic Data 16 septembrie 2019 12:56:58
Problema Subsecventa de suma maxima Scor 55
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <cstdio>
#include <climits>

using namespace std;

int main()
{
    freopen("ssm.in", "r", stdin);
    freopen("ssm.out", "w", stdout);

    int n; cin >> n;
    int sir[n]; cin >> sir[0];
    int nr, maxim = INT_MIN, indiceMaxim, minim = INT_MAX, indiceMinim;

    for(int i = 1; i < n; i++)
    {
        cin >> nr;
        sir[i] = sir[i - 1] + nr;

        if(maxim < sir[i])
        {
            maxim = max(maxim, sir[i]);
            indiceMaxim = i;
        }
    }

    for(int i = indiceMaxim; i >= 0; i--)
    {
        if(minim > sir[i])
        {
            minim = min(minim, sir[i]);
            indiceMinim = i;
        }
    }

    cout << maxim - minim << " " << indiceMinim + 2 << " " << indiceMaxim + 1;
}