Cod sursa(job #1494971)

Utilizator Burbon13Burbon13 Burbon13 Data 2 octombrie 2015 09:25:44
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <cstdio>
#define nmx 6000000
using namespace std;

int n,v[nmx],best = -1,Min = 0,Last,Beg,End;

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

    scanf("%d", &n);
    for(int i = 1; i <= n; ++i) {
        scanf("%d", &v[i]);
        v[i] += v[i-1];
        if(v[i] - Min > best) {
            best = v[i] - Min;
            Beg = Last + 1;
            End = i;
        }
        if(v[i] < Min){
            Min = v[i];
            Last = i;
        }
    }

    printf("%d %d %d\n", best, Beg, End);

    return 0;
}