Cod sursa(job #1495317)

Utilizator Burbon13Burbon13 Burbon13 Data 2 octombrie 2015 21:52:14
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <cstdio>
#define inf 0x3f3f3f3f
using namespace std;

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

    int Min = inf, pos = -1, Beg, End, Res = -inf, nr, sum = 0, n;
    scanf("%d", &n);
    scanf("%d", &nr);
    Beg = 1;
    End = 1;
    Res = nr;
    pos = 1;
    sum = nr;
    Min = nr;
    for(int i = 2; i <= n; ++i){
        scanf("%d", &nr);
        sum += nr;
        if(sum < Min){
            Min = sum;
            pos = i;
        }
        if(Res < sum - Min){
            Beg = pos + 1;
            End = i;
            Res = sum - Min;
        }
    }

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

    return 0;
}