No.764 浮動点

レベル : / 実行時間制限 : 1ケース 1.500秒 / メモリ制限 : 512 MB / 小数誤差許容問題 絶対誤差または相対誤差が$10^{-6}$ 以下
タグ : / 解いたユーザー数 17
作問者 : りあんりあん / テスター : 37zigen37zigen
2 ProblemId : 1593 / 出題時の順位表

問題文

平面上に 2 定点 $P_0, \ P_{N+1}$ があり、$P_0$ と $P_{N+1}$ の距離(ユークリッド距離)は $L_0$ です。

また、この平面上には上の 2 定点の他に $N$ 個の動点 $P_1, \ P_2, \ \ldots , \ P_N$ があり、以下を満たしながら動きます。

  • $P_{i-1}$ と $P_i$ の距離は $L_i \ (1 \le i \le N+1)$。

このとき、$N$ 個の動点 $P_1, \ P_2, \ \ldots , \ P_N$ それぞれについて、動きうる範囲の面積を求めてください。

なお、各点において動きうる範囲が点上や線上のみであったり、上の条件を満たすような範囲が存在しない場合は面積 $0$ とします。

また、各点において、その点の動きうる範囲が 2 つ以上に分割されていた場合はそれらの面積を足し合わせたものを出力してください。

入力

$N$
$L_0$
$L_1$
$\ldots$
$L_{N+1}$

1 行目に動点の個数を表す整数 $N$ が与えられます。

続く $N + 2$ 行のうちの i 行目 $(1 \le i \le N+2)$ には、整数 $L_{i-1}$ が与えられます。

$L_i$ は

  • $i = 0$ のとき、$P_0$ と $P_{N+1}$ の距離
  • $1 \le i \le N+1$ のとき、$P_{i-1}$ と $P_i$ の距離

を表します。


入力は全部で $N + 3$ 行となり、以下の制約を満たします。

  • 入力は全て整数
  • $3 \le N \le 1000$
  • $1 \le L_i \le 1000 \ (0 \le i \le N+1)$

出力

$S_1$
$S_2$
$\ldots$
$S_N$

期待する出力は $N$ 行からなります。

i 行目 $(1 \le i \le N)$ には、動点 $P_i$ の動きうる範囲の面積を出力してください。

絶対誤差または相対誤差が $10^{-6}$ 以下のとき、正答となります。

最後に改行してください。

サンプル

サンプル1
入力
3
8
3
5
3
4
出力
0
58.62347424991461
0

サンプル2
入力
4
16
1
2
3
4
5
出力
0
0
0
0

条件を満たすような点は存在しません。

サンプル3
入力
12
10
900
800
700
600
500
400
300
200
100
200
300
400
500
出力
0
9047786.842338604
18095573.68467721
26420794.21669016
18095573.68467721
12566370.61435917
9079202.768874502
7068583.470577035
6157521.601035995
4523893.421169302
2513274.122871834
0
提出ページヘ
下のフォームでの入力は、テキストボックスにフォーカスがない場合は、(Onにしている場合)ショートカットキー・スマートサブミットの影響を受けるので、必要なら提出ページに遷移してください。

言語
問題によって提出できない言語があります。参考
ソースコード
ソースコードのテキストボックスに文字がある場合はファイルは無視されます。
テキストボックスで提出するとCR(\r)が除去されますが、ファイルで提出すると除去されません。