Cod sursa(job #590582)

Utilizator ukiandreaAndreea Lucau ukiandrea Data 18 mai 2011 16:42:36
Problema Subsecventa de suma maxima Scor 80
Compilator c Status done
Runda Arhiva educationala Marime 0.87 kb
#include <stdio.h>

#define MAX_INT 

int main()
{
    int n, x, s, i, i1, i2;

    int sum = -32000, start, end;

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


    scanf("%d", &n);
        
    scanf("%d", &x);
    start = end = 1;
    s = x;
    
    for (i = 2; i <= n; i++) {
        scanf("%d", &x);

        if ((s + x) > x) {
            i2++;
            s = s + x;

            if (s > sum)
            {
                start = i1;
                end = i2;
                sum = s;
            }
        } else {
            if (s > sum)
            {
                start = i1;
                end = i2;
                sum = s;
            }

            s = x;
            i1 = i2 = i;
        }
    }
    
    if (s > sum)
    {
        start = i1;
        end = i2;
        sum = s;
    }

    printf("%d %d %d\n", sum, start, end);

    return 0;
}