Cod sursa(job #1767800)

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

int main()
{
    int n, i, x, maxim = 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];
            dr = i;
        }
        if(sp[i] < sp[st]){
            st = i;
        }
    }
    printf("%d %d %d\n",maxim,st+1,dr);
    return 0;
}