Cod sursa(job #976147)

Utilizator andrettiAndretti Naiden andretti Data 22 iulie 2013 17:02:36
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<stdio.h>
#define inf 0x3f3f3f3f
using namespace std;

int n,start,end;
int smax=-inf;

void solve()
{
    int x;
    int s=0;
    int sc,ec;

    scanf("%d",&n); sc=1;
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&x);
        s+=x; ec=i;
        if(s>smax) {smax=s; start=sc; end=ec;}
        if(s<0) s=0,sc=i+1;
    }
    printf("%d %d %d\n",smax,start,end);
}

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

    solve();

    fclose(stdin);
    fclose(stdout);
    return 0;
}