Cod sursa(job #1519600)

Utilizator dinuvldVlad Dinu dinuvld Data 7 noiembrie 2015 16:18:54
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
using namespace std;

int main()
{
    ifstream cin("ssm.in");
    ofstream cout("ssm.out");
    int i, s, max, ant = 0, c = 0, n;
    int a[6000001];
    cin >> n;
    s=0; max=0;
    for (i = 1; i<=n; i++)
        cin >> a[i];
    for (i = 1; i<=n; i++)
    {
        s+= a[i];
        if (s>max){
            max = s;
            c++;
        }
        
        if (s <= 0 && c == 1)
        {
            s -= a[i];
            s += ant;
            max = s;
            s = 0;
        }
        
        if (s<0)
        {
            ant = s;
            s = 0;
            c = 0;
        }
    }
    cout<<max;
}