問題一覧 > 教育的問題

No.2970 三次関数の絶対値

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 小数誤差許容問題 絶対誤差または相対誤差が10310^{-3} 以下。ただし、ジャッジ側の都合で500桁未満にしてください
タグ : / 解いたユーザー数 50
作問者 : 👑 p-adic / テスター : Moss_Local
0 ProblemId : 10914 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-08-18 09:58:58

問題文

LRL \leq R を満たす 66 個の整数 C0,C1,C2,C3,L,RC_0, C_1, C_2, C_3, L, R が与えられます。

 

LxRL \leq x \leq R を満たす実数 xx 全体における C0+C1x+C2x2+C3x3|C_0 + C_1 x + C_2 x^2 + C_3 x^3| の最小値

minLxRC0+C1x+C2x2+C3x3\displaystyle \min_{L \leq x \leq R} |C_0 + C_1 x + C_2 x^2 + C_3 x^3|

を求めてください。ただし最小値が存在することは証明可能です。

入力

入力は以下の形式で標準入力から 22 行で与えられます:

  • 11 行目に C0,C1,C2,C3C_0, C_1, C_2, C_3 が半角空白区切りで与えられます。
  • 22 行目に L,RL, R が半角空白区切りで与えられます。
C0C_0 C1C_1 C2C_2 C3C_3
LL RR

制約

入力は以下の制約を満たします:

  • C0C_010C010-10 \leq C_0 \leq 10 を満たす整数である。
  • C1C_110C110-10 \leq C_1 \leq 10 を満たす整数である。
  • C2C_210C210-10 \leq C_2 \leq 10 を満たす整数である。
  • C3C_310C310-10 \leq C_3 \leq 10 を満たす整数である。
  • LLRR10LR10-10 \leq L \leq R \leq 10 を満たす整数である。

出力

LxRL \leq x \leq R を満たす実数 xx 全体における C0+C1x+C2x2+C3x3|C_0 + C_1 x + C_2 x^2 + C_3 x^3| の最小値

minLxRC0+C1x+C2x2+C3x3\displaystyle \min_{L \leq x \leq R} |C_0 + C_1 x + C_2 x^2 + C_3 x^3|

11 行に出力してください。

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

 

なお、この問題は小数誤差許容問題です。厳密な答えの小数点以下 66 桁精度近似値からの絶対誤差または相対誤差が 10310^{-3} 以下であれば正解となります。

ただしここで実数 xx の小数点以下 66 桁精度近似値とは、小数点以下高々 66 桁の有限小数表示を持ち xx を超えない最大の実数を表します。

また、ジャッジ側の都合で出力は 500500 桁未満にしてください。

サンプル

サンプル1
入力
0 0 0 0
0 0
出力
0.000000

f(x)=C0+C1x+C2x2+C3x3=0+0x+0x2+0x3f(x) = C_0 + C_1 x + C_2 x^2 + C_3 x^3 = 0 + 0x + 0x^2 + 0x^3 と置きます。f(x)|f(x)| は区間 [L,R]=[0,0][L,R] = [0,0]00 の値のみを取るので、

minLxRf(x)=0\displaystyle \min_{L \leq x \leq R} |f(x)| = 0

です。

サンプル2
入力
0 -1 0 0
1 2
出力
1.000000

f(x)=C0+C1x+C2x2+C3x3=xf(x) = C_0 + C_1 x + C_2 x^2 + C_3 x^3 = -x と置きます。f(x)=x|f(x)| = |x| は区間 [L,R]=[1,2][L,R] = [1,2]xx と等しく狭義単調増加するので、

minLxRf(x)=f(L)=1\displaystyle \min_{L \leq x \leq R} |f(x)| = |f(L)| = 1

です。

サンプル3
入力
1 0 1 0
-1 1
出力
1.000000

f(x)=C0+C1x+C2x2+C3x3=1+x2f(x) = C_0 + C_1 x + C_2 x^2 + C_3 x^3 = 1+x^2 と置きます。f(x)=1+x2|f(x)| = 1+x^2 は区間 [L,R]=[1,1][L,R] = [-1,1] で下に凸であり、x=0x = 0 の時に最小値を取るので、

minLxRf(x)=f(0)=1\displaystyle \min_{L \leq x \leq R} |f(x)| = |f(0)| = 1

です。

サンプル4
入力
0 0 0 1
-1 2
出力
0.000000

f(x)=C0+C1x+C2x2+C3x3=x3f(x) = C_0 + C_1 x + C_2 x^2 + C_3 x^3 = x^3 と置きます。f(x)=x3|f(x)| = |x^3| は区間 [L,R]=[1,2][L,R] = [-1,2] で零点(方程式 f(x)=0|f(x)| = 0 の解) x=0x = 0 を持つので、

minLxRf(x)=0\displaystyle \min_{L \leq x \leq R} |f(x)| = 0

です。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。