Cod sursa(job #1493646)

Utilizator BaweeLazar Vlad Bawee Data 29 septembrie 2015 19:02:58
Problema Subsecventa de suma maxima Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <cstdio>

using namespace std;

int n,x[6000005];

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

    using namespace std;

    cin >> n;
    for(int i = 1; i <= n; i++)  cin >> x[i];

    int bestSum = -int(2e9), mini = 0,idx,first,last;
    for(int i = 1; i <= n; i++)
    {
        x[i] += x[i - 1];
        if (bestSum < x[i] - mini)
            bestSum = x[i] - mini, first = idx + 1, last = i;
        if (mini > x[i])
            mini = x[i], idx = i;
    }
    cout << bestSum << " " << first << " " << last;
    return 0;
}