C - Rectangle Cutting 解説 /

実行時間制限: 2 sec / メモリ制限: 1024 MB

配点 : 300

問題文

平面上に長方形があり、4 つの頂点の座標は (0,0),(W,0),(W,H),(0,H) です。 この長方形の内部または周上の点 (x,y) が与えられます。(x,y) を通る直線で長方形を 2 つの部分に分割するとき、 面積の大きくない方の面積の最大値を求めてください。また、その最大値を達成する分割の方法が複数あるかも判定してください。

制約

  • 1 \leq W,H \leq 10^9
  • 0\leq x\leq W
  • 0\leq y\leq H
  • 入力はすべて整数である

入力

入力は以下の形式で標準入力から与えられる。

W H x y

出力

はじめに、面積の大きくない方の面積の最大値を出力せよ。つづいて、その最大値を達成する分割の方法が複数あるなら 1 を、そうでないなら 0 を出力せよ。 出力された面積は、絶対誤差あるいは相対誤差が 10^{-9} 以下の時正答と判定される。


入力例 1

2 3 1 2

出力例 1

3.000000 0

直線 x=1 で分割するのが最適です。また、最適な分割方法はこれ以外には存在しません。


入力例 2

2 2 1 1

出力例 2

2.000000 1

Score : 300 points

Problem Statement

There is a rectangle in a coordinate plane. The coordinates of the four vertices are (0,0), (W,0), (W,H), and (0,H). You are given a point (x,y) which is within the rectangle or on its border. We will draw a straight line passing through (x,y) to cut the rectangle into two parts. Find the maximum possible area of the part whose area is not larger than that of the other. Additionally, determine if there are multiple ways to cut the rectangle and achieve that maximum.

Constraints

  • 1 \leq W,H \leq 10^9
  • 0\leq x\leq W
  • 0\leq y\leq H
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

W H x y

Output

Print the maximum possible area of the part whose area is not larger than that of the other, followed by 1 if there are multiple ways to cut the rectangle and achieve that maximum, and 0 otherwise.

The area printed will be judged correct when its absolute or relative error is at most 10^{-9}.


Sample Input 1

2 3 1 2

Sample Output 1

3.000000 0

The line x=1 gives the optimal cut, and no other line does.


Sample Input 2

2 2 1 1

Sample Output 2

2.000000 1