結果
問題 |
No.2970 三次関数の絶対値
|
ユーザー |
![]() |
提出日時 | 2024-11-29 22:39:56 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 161 ms / 2,000 ms |
コード長 | 488 bytes |
コンパイル時間 | 328 ms |
コンパイル使用メモリ | 81,792 KB |
実行使用メモリ | 141,824 KB |
最終ジャッジ日時 | 2024-11-29 22:40:07 |
合計ジャッジ時間 | 8,321 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 50 |
ソースコード
C0,C1,C2,C3=map(int,input().split()) L,R=map(int,input().split()) def f(x): return abs(C0+C1*x+C2*x*x+C3*x*x*x) ANS=[] for i in range(10**6+1): x=L+(R-L)/(10**6)*i ANS.append(f(x)) MIN=min(ANS) IND=ANS.index(MIN) MIN=L+(R-L)/(10**6)*(IND-1) MAX=L+(R-L)/(10**6)*(IND+1) MIN=max(MIN,L) MAX=min(MAX,R) for tt in range(1000): mid1=MIN+(MAX-MIN)/3 mid2=MIN+(MAX-MIN)/3*2 if f(mid1)<f(mid2): MAX=mid2 else: MIN=mid1 print(f((MIN+MAX)/2))