Cod sursa(job #1149194)

Utilizator alex199898Poboranu Alexandru alex199898 Data 21 martie 2014 15:26:25
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include<limits.h>
#include<stdio.h>
using namespace std;

// 6000005
#define dim 6000005

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

    int n,i,x,s,smax,st,dr,stmax,drmax;
    //int v[dim];
    //int s[dim];

    scanf("%d", &n);

    smax=INT_MIN;
    s=INT_MIN;

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

        if(s<0 && x>s)
        {
            s=x;
            st=i;
            dr=i;
        }
        else
        {
            if(s>smax)
            {
                smax=s;
                stmax=st;
                drmax=dr;
            }
            s+=x;
            ++dr;
        }
    }
    if(s>smax)
    {
        smax=s;
        stmax=st;
        drmax=dr;
    }

    printf("%d %d %d", smax, stmax, drmax);



    return 0;
}