Cod sursa(job #1867765)

Utilizator anderut22Sandu Andrei anderut22 Data 4 februarie 2017 12:23:09
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
#define MIN -6000000
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
long long sumaMax=MIN, n, start, stop;
int main()
{
    int i, sumaCrt=0, pStart=1, pStop=1, x;
    cin >> n;
    for (i=1; i<=n; i++)
    {
        cin >> x;
        sumaCrt+=x;
        if (sumaCrt<0)
        {
            if (sumaCrt>sumaMax)
            {
                sumaMax=sumaCrt;
                start=pStart;
                stop=pStop;
            }
            sumaCrt=0;
            pStart=i+1;
            pStop=i;
        }
        else if (sumaCrt>sumaMax)
        {
            sumaMax=sumaCrt;
            start=pStart;
            stop=pStop;
        }
        pStop++;
    }
    cout << sumaMax<< ' '<< start<< ' '<< stop;
    return 0;
}