結果
| 問題 |
No.2352 Sharpened Knife in Fall
|
| コンテスト | |
| ユーザー |
とりゐ
|
| 提出日時 | 2023-06-16 22:20:55 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 830 ms / 3,000 ms |
| コード長 | 533 bytes |
| コンパイル時間 | 292 ms |
| コンパイル使用メモリ | 82,108 KB |
| 実行使用メモリ | 77,184 KB |
| 最終ジャッジ日時 | 2024-06-24 14:53:55 |
| 合計ジャッジ時間 | 19,445 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 19 |
ソースコード
import math
r,k=map(int,input().split())
S=r*r*math.pi
eps=1e-9
def calc(y):
if y<-r+eps:
return 0
if y>r-eps:
return S
if abs(y)<eps:
return S/2
if y>0:
rad=math.asin(y/r)
res=r*r*rad+y*math.cos(rad)*r
return S/2+res
else:
y=abs(y)
rad=math.asin(y/r)
res=r*r*rad+y*math.cos(rad)*r
return S/2-res
res=[]
for i in range(1,k+1):
s=S/(k+1)*i
ng,ok=-r,r
for _ in range(100):
mid=(ng+ok)/2
if calc(mid)>=s:
ok=mid
else:
ng=mid
print('{:.20f}'.format(ok))
とりゐ