Cod sursa(job #1515708)

Utilizator NicusorTelescu Nicolae Nicusor Data 2 noiembrie 2015 08:43:05
Problema Subsecventa de suma maxima Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <cstdio>

using namespace std;

int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    int n,in=0,sf=0,inb=0,sfb=0,a;
    scanf("%d ",&n);
    int ant,suma_buna;
    scanf("%d ",&a);
    ant=a;
    suma_buna=ant;
    in=1;
    for (int i=2;i<=n;i++)
    {
        sf=i;
        scanf("%d ",&a);
        if (suma_buna<ant)
        {
            inb=in;
            sfb=sf-1;
            suma_buna=ant;
        }
        if (a > ant+a)
        {
            if (suma_buna<ant)
            {
                inb=in;
                sfb=sf-1;
                suma_buna=ant;
            }
            ant=a;
            in=i;
        }
        else
        {
            if (a < ant+a)
                ant+=a;
        }
    }
    if (suma_buna<ant)
    {
        inb=in;
        sfb=sf;
        suma_buna=ant;
    }
    printf("%d %d %d",suma_buna,inb,sfb);
}