結果

問題 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
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 45 ms
53,180 KB
testcase_01 AC 46 ms
53,080 KB
testcase_02 AC 47 ms
53,956 KB
testcase_03 AC 46 ms
53,188 KB
testcase_04 AC 773 ms
76,848 KB
testcase_05 AC 41 ms
54,292 KB
testcase_06 AC 807 ms
77,068 KB
testcase_07 AC 467 ms
76,928 KB
testcase_08 AC 817 ms
77,056 KB
testcase_09 AC 828 ms
77,056 KB
testcase_10 AC 809 ms
76,996 KB
testcase_11 AC 827 ms
77,056 KB
testcase_12 AC 814 ms
77,104 KB
testcase_13 AC 830 ms
77,056 KB
testcase_14 AC 423 ms
77,184 KB
testcase_15 AC 786 ms
77,108 KB
testcase_16 AC 122 ms
76,900 KB
testcase_17 AC 113 ms
76,544 KB
testcase_18 AC 365 ms
76,764 KB
testcase_19 AC 662 ms
77,112 KB
testcase_20 AC 322 ms
77,108 KB
testcase_21 AC 297 ms
77,160 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

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))
0