Cod sursa(job #114976)

Utilizator runnaway90Oprescu Radu Constantin runnaway90 Data 16 decembrie 2007 10:02:12
Problema Operatii Scor 20
Compilator fpc Status done
Runda preONI 2008, Runda 2, Clasa a 10-a Marime 1.77 kb
var f:text;
        p,anterior,i,k,max,n,ramas,max1:longint;
begin
        assign(f,'operatii.in');
        reset(f);
                readln(f,n);
                k:=1;max:=0;anterior:=0;ramas:=0;max1:=0;
                for i:=1 to n do
                begin
                        read(f,p);
                        if (p>=anterior)and(k=1) then
                        begin
                                p:=p-ramas;
                                anterior:=p;
                                max1:=p;
                        end
                        else
                        if (p<anterior)and(k=1) then
                        begin
                                k:=2;
                                if p>ramas then
                                        p:=p-ramas
                                else
                                        ramas:=0;
                                max1:=anterior;
                                anterior:=p;
                        end
                        else
                        if (p>anterior)and(k=2) then
                        begin
                                ramas:=anterior;
                                p:=p-ramas;
                                max:=max+max1;
                                max1:=p;
                                k:=1;
                                anterior:=p;
                        end
                        else
                        if (p<=anterior)and(k=2) then
                        begin
                                anterior:=p;
                        end;
                end;
                max:=max+max1;
        close(f);
        assign(f,'operatii.out');
        rewrite(f);
                write(f,max);
        close(f);
end.