Cod sursa(job #1568814)

Utilizator dhlnestarrNicolae Dan dhlnestarr Data 14 ianuarie 2016 18:47:00
Problema Subsecventa de suma maxima Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>

using namespace std;

#define MAX 1024

int n,a[MAX],v[MAX],maxim;

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

    scanf("%d",&n);
    for(i=1; i<=n; ++i)
        scanf("%d",&a[i]);
    maxim=a[i];
    for(i=1; i<=n; ++i)
    {
        v[i]=a[i];
        if(v[i]<v[i-1]+a[i])
            v[i]=v[i-1]+a[i];
        if(maxim<v[i])
        {
            maxim=v[i];
            j=i;
        }
    }
    int max1=maxim;
    int k=j;
    while(max1)
    {
        max1-=a[k];
        k--;
    }
    k++;
    printf("%d %d %d ", maxim,k,j);

    return 0;
}