fork download
  1. function assess(A, B, X, Y: longint): longint;
  2. var z: longint;
  3. begin
  4. if(A < B) then begin z:=A; A:=B; B:=z; end;
  5.  
  6. if(X < Y) then begin z:=X; X:=Y; Y:=z; end;
  7.  
  8. if(A >= X) and ( B >= Y) then assess:=0
  9. else
  10. if(A < X) and (B < Y) and (A <> Y) then assess:= X*Y - A*B
  11. else
  12. if(Y>=B) then assess:= ((Y - B) div 2 + (Y - B) mod 2) * X
  13. else
  14. if(X>=A) then assess:= ((X - A) div 2 + (X - A) mod 2) * Y;
  15. end;
  16.  
  17.  
  18. var
  19. A,B,X,Y : longint;
  20. fr, fw : text;
  21.  
  22. begin
  23.  
  24. readln( A, B, X, Y);
  25.  
  26. writeln( assess(A, B, X, Y));
  27.  
  28. end.
  29.  
Success #stdin #stdout 0.01s 5284KB
stdin
12 14 18 15 
stdout
102