Cod sursa(job #1127516)

Utilizator PlatonPlaton Vlad Platon Data 27 februarie 2014 12:44:05
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <stdio.h>
#include <algorithm>

#define maxn 6000000

int n, suma[maxn], s, i1, i2;

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

    scanf("%d", &n);

    s=-int(2e9);

    int x;
    scanf("%d", &x);
    suma[1]=x;
    for(int i=2;i<=n;i++)
    {
        scanf("%d", &x);

        if(x>x+suma[i-1])
        {
            suma[i]=x;
         //   i1=i;
        }
        else
        {
            suma[i]=x+suma[i-1];
        }
        if(suma[i]>s)
        {
            s=suma[i];
            i2 = i;
            printf("%d \n", s);
            if(s<0)
            {
                i1=i;
            }
        }
    }
    printf("%d %d %d", s, i1, i2);
}