Cod sursa(job #2288628)

Utilizator rares404AlShaytan - Balasescu Rares rares404 Data 23 noiembrie 2018 18:23:46
Problema Subsecventa de suma maxima Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <cstdio>

int n, s, maxx(1 << 31) , from, to, number ;

int main(){
    freopen("ssm.in", "r", stdin) ;
    freopen("ssm.out", "w", stdout) ;
    scanf("%d", &n) ;
    register int i ;
    for (i = 1 ; i <= n ; ++ i) {
        scanf("%d", &number) ;
        if (s + number > number) {
            s += number ;
        } else {
            s = number ;
            if (maxx < s)
                from = to = i;
        }
        if (maxx < s) {
            maxx = s ;
            if (s == number) {
                to = i ;
                from = i ;
            } else {
                to = i ;
            }
        }
    }
    printf("%d %d %d", maxx, from, to) ;
    return 0;
}