Cod sursa(job #1494972)

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

int n,v[nmx];

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

    scanf("%d", &n);
    int best = -1,Min = 0,Last,Beg,End;
    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;
}