Cod sursa(job #2153253)

Utilizator razvanradulescuRadulescu Razvan razvanradulescu Data 6 martie 2018 08:24:30
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <cstdio>
#include <climits>
using namespace std;

int s, smax = INT_MIN, x, in, sf, n, inc;

void rez()
{
    scanf("%d\n", &n);
    for(int i = 1; i<=n; i++)
    {
        scanf("%d ", &x);
        if(s+x > x)
        {
            s+=x;
            if(smax < s)
            {
                smax = s;
                sf = i;
            }
        }
        else
        {
            s = x;
            inc = i;
            if(smax < s)
            {
                smax = s;
                in = i;
                sf = i;
            }
        }
    }
    if(inc > in && inc <= sf)
        in = inc;
    printf("%d %d %d", smax, in, sf);
}

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