Cod sursa(job #1127417)

Utilizator PlatonPlaton Vlad Platon Data 27 februarie 2014 12:24:53
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 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);

    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 %d %d", s, i1, i2);
}