Cod sursa(job #1767807)

Utilizator stefan_creastaStefan Creasta stefan_creasta Data 29 septembrie 2016 19:29:04
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <cstdio>
#include <algorithm>
using namespace std;
int sp[6000005];

int main()
{
    int n, i, x, maxim = -2000000000, stt = 0, st = 0, dr = 0;
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    scanf("%d", &n);
    for(i = 1;i <= n; ++i){
        scanf("%d", &x);
        sp[i] = sp[i - 1] + x;
        if(maxim < sp[i] - sp[st]){
            maxim = sp[i] - sp[st];
            stt = st;
            dr = i;
        }
        if(sp[i] < sp[st]){
            st = i;
        }
    }
    printf("%d %d %d\n", maxim, stt+1, dr);
    return 0;
}