Cod sursa(job #929135)

Utilizator ovidiu95Decean Ovidiu Ciprian ovidiu95 Data 26 martie 2013 21:12:50
Problema Subsecventa de suma maxima Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.93 kb
var     f,g:text;
        bufin,bufout:array[1..65000] of byte;
        v:array[-1..6000002] of longint;
        n,max,i,st,stf,dtf,x:longint;

function maxim(a,b:longint):longint;
begin
        if a>=b then maxim:=a else begin
                maxim:=b;
                st:=i;
        end;
end;

begin
        assign(f,'ssm.in');
        assign(g,'ssm.out');
        reset(f);
        rewrite(g);
        settextbuf(f,bufin);
        settextbuf(g,bufout);
        readln(f,n);
        read(f,x);
        v[i]:=x;
        max:=x;
        st:=1;
        stf:=1;
        dtf:=1;
        for i:=2 to n do begin
                read(f,x);
                v[i]:=maxim(v[i-1]+x,x);
                if v[i]>max then begin
                        max:=v[i];
                        stf:=st;
                        dtf:=i;
                end;
        end;
        writeln(g,max,' ',stf,' ',dtf);
        close(g);
end.