Cod sursa(job #1757906)

Utilizator Burbon13Burbon13 Burbon13 Data 16 septembrie 2016 02:28:22
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <cstdio>
#include <climits>
#include <iostream>

using namespace std;

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

    int n, nr, pmin = 1, pmax = 1, smin, sum = 0, lsa = 1, minim = -INT_MAX;
    int pp1;
    int summax =-1;

    scanf("%d", &n);

    for(int i = 1; i <= n; ++i)
    {
        int val;

        scanf("%d", &val);

        if(minim < val)
        {
            minim = val;
            pp1 = i;
        }

        sum += val;

        if(sum > summax)
        {
            summax = sum;
            pmin = lsa;
            pmax = i;
        }

        if(sum < 0)
        {
            sum = 0;
            lsa = i + 1;
        }
    }

    if(summax == -1)
        {
            summax = minim;
            pmin = pp1;
            pmax = pp1;
        }

    printf("%d %d %d\n", summax, pmin, pmax);


    return 0;
}