Cod sursa(job #114976)
Utilizator | 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.