Cod sursa(job #832712)

Utilizator iuli1505Parasca Iuliana iuli1505 Data 11 decembrie 2012 09:41:03
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <cstdio>
#define oo 1>>30
#define nmax 7000010
using namespace std;
int n,min, first, last, crt, best,s[nmax];
int main()
{
    int i;
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    scanf("%d", &n);
    for(i=1;i<=n;i++)
        scanf("%d", &s[i]);
    best=oo;
    for(i=1;i<=n;i++)
    {
        s[i]+=s[i-1];
        if(best<s[i]-min)
        {
            best=s[i]-min;
            first=crt+1;
            last=i;
        }
        if(min>s[i])
        {
            min=s[i];
            crt=i;
        }

    }
    printf("%d %d %d\n", best, first, last);

    return 0;
}