Cod sursa(job #1506278)

Utilizator andreitulusAndrei andreitulus Data 20 octombrie 2015 13:07:24
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <stdio.h>
#define MAX 6000000
using namespace std;

int n;


void read()
{
    scanf("%d", &n);
}


void solve()
{
    int i, smax = 0, maxx, lg, l, d, x;

    scanf("%d", &x);

    maxx = x;

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

        if(smax + x >= x)
            smax += x, lg++;
        else
            smax = x, lg = 0;

        if(smax > maxx)
        {
            maxx = smax;
            d = i;
            l = lg;
        }
    }

    printf("%d %d %d",maxx, d - l + 1, d + 1);

}



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

    read();

    solve();

    fclose(stdin);
    fclose(stdout);

    return 0;
}