Cod sursa(job #1889409)

Utilizator andreigasparoviciAndrei Gasparovici andreigasparovici Data 22 februarie 2017 18:29:46
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <cstdio>
using namespace std;

#define NMAX 6000004
#define INF (1<<30)

int n;
int a[NMAX], best[NMAX];
int sol, sum, start, stop;

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

    scanf("%d ",&n);

    for(int i=0;i<n;i++)
    {
        scanf("%d ",&a[i]);
    }


    sol = -INF;

    for(int i=0;i<n;i++)
    {
        if(sum<0)
            sum=a[i],start=i;
        else sum+=a[i];

        if(sum>=sol)
        {
            sol = sum;
            stop = i;
        }
    }

    printf("%d %d %d",sol,start+1,stop+1);

    return 0;
}