Cod sursa(job #2336204)

Utilizator hristacheruxiRuxandra Hristache hristacheruxi Data 4 februarie 2019 21:36:21
Problema Subsecventa de suma maxima Scor 75
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.06 kb
#include <stdio.h>
#include <math.h>
int main(){
    freopen("ssm.in", "r", stdin);
    freopen("ssm.out", "w", stdout);
    int maxim, n, i, a, i1, i2, j1;
    long long s, smax;

    s = 0;
    maxim = smax = - INFINITY;
    scanf("%d", &n);
    i1 = 1;
    for (i = 1; i <= n; i++)
    {
        scanf("%d", &a);
        if (maxim < a)
        {
            maxim = a;
            j1 = i;
        }

        s = s + a;

        if (s > smax)
        {
            smax = s;
            i2 = i;
        }

        if (s < 0)
        {
            s = 0;
            i1 = i + 1;
        }
    }




        /*
        if (maxim < a)
        {
            j1 = i;
            maxim = a;
        }
        s = s + a;
        if (smax < s)
        {
            i2 = i;
            smax = s;
        }
        if (s < 0)
        {
            s = 0;
            i1 = i + 1;
        }
        */

    if (maxim < 0)
        printf("%d %d %d", maxim, j1, j1);
    else
        printf("%lld %d %d", smax, i1, i2);
    return 0;
}