Cod sursa(job #1130147)

Utilizator TarabanDragosTaraban Dragos-Petru TarabanDragos Data 28 februarie 2014 11:33:04
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include<cstdio>
int n,m,i,j,a,s,ps,pf,smax,psmax,pfmax;
FILE *f,*g;
int main(){
    f=fopen("ssm.in","r");
    g=fopen("ssm.out","w");
    fscanf(f,"%d%d",&n,&a);
    smax=s=a;
    psmax=pfmax=ps=pf=1;
    for(i=2;i<=n;i++){
        fscanf(f,"%d",&a);
        if(s+a>=a){
            s+=a;
            pf++;
            if(s>smax){
                smax=s;
                psmax=ps;
                pfmax=pf;
            }
        }
        else{
            s=a;
            ps=pf=i;
            if(s>smax){
                smax=s;
                psmax=ps;
                pfmax=pf;
            }
        }
    }
    fprintf(g,"%d %d %d",smax,psmax,pfmax);



    fclose(f);
    fclose(g);
    return 0;
}