Cod sursa(job #622820)

Utilizator ion_calimanUAIC Ion Caliman ion_caliman Data 18 octombrie 2011 16:58:19
Problema Subsecventa de suma maxima Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.76 kb
#include <stdio.h>

int a[100000],n,Smax,l,r;

int main()
{
    int i;
    //printf("Dati un numar : ");
    scanf("%d",&n);
    //printf("Dati %d numere : ",n);
    for (i=0; i<n; i++)
        scanf("%d",&a[i]);
    for (i=1; i<n; i++)
        a[i]+=a[i-1];
        
    Smax=a[1];
    l=r=0;
    int best,min=0,t=0;
    for (i=0; i<n; i++)
    {
        best=a[i]-min;
        if (a[i]<min) min=a[i],t=i+1;
        if (best>Smax) 
        {
            Smax=best;
            l=t;
            r=i;
        }
    }
    /* 
    printf("( ");
    for (i=l; i<r; i++)
        printf(" %d ,",a[i]-a[i-1]);
    printf(" %d );\n",a[r]-a[r-1]);
    printf("Suma este : %d ",Smax);
    scanf("%d",&i); 
    */
    printf("%d %d %d",Smax,l,r);
}