Cod sursa(job #992426)

Utilizator TarabanDragosTaraban Dragos-Petru TarabanDragos Data 1 septembrie 2013 20:00:25
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include<cstdio>
#include<climits>
int n,i,j,s,smax=-INT_MAX,in,fin,imax,fmax,a;
FILE *f,*g;
int main(){
    f=fopen("ssm.in","r");
    g=fopen("ssm.out","w");
    fscanf(f,"%d",&n);
    imax=0;
    fmax=0;
    in=1;
    fin=1;
    for(i=1;i<=n;i++){
        fscanf(f,"%d",&a);
        if(s+a>=a){
            fin++;
            s+=a;
            if(s>smax && i-in!=0){
                smax=s;
                imax=in;
                fmax=fin;
            }
            else if(s>smax && i-in==0){
                smax=s;
                imax=i;
                fmax=i;
            }
        }
        else{
            in=i;
            fin=i;
            s=a;
        }
    }
    fprintf(g,"%d %d %d",smax,imax,fmax);
    fclose(f);
    fclose(g);
    return 0;
}