結果

問題 No.2352 Sharpened Knife in Fall
ユーザー yabityabit
提出日時 2023-06-18 11:54:31
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 423 ms / 3,000 ms
コード長 407 bytes
コンパイル時間 302 ms
コンパイル使用メモリ 82,540 KB
実行使用メモリ 76,836 KB
最終ジャッジ日時 2024-06-26 00:49:00
合計ジャッジ時間 12,574 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 39 ms
52,780 KB
testcase_01 AC 39 ms
53,808 KB
testcase_02 AC 38 ms
54,172 KB
testcase_03 AC 38 ms
52,916 KB
testcase_04 AC 300 ms
76,660 KB
testcase_05 AC 39 ms
54,312 KB
testcase_06 AC 419 ms
76,628 KB
testcase_07 AC 241 ms
76,588 KB
testcase_08 AC 419 ms
76,760 KB
testcase_09 AC 415 ms
76,644 KB
testcase_10 AC 423 ms
76,696 KB
testcase_11 AC 423 ms
76,836 KB
testcase_12 AC 417 ms
76,616 KB
testcase_13 AC 405 ms
76,492 KB
testcase_14 AC 214 ms
76,496 KB
testcase_15 AC 365 ms
76,620 KB
testcase_16 AC 78 ms
73,024 KB
testcase_17 AC 64 ms
68,400 KB
testcase_18 AC 185 ms
76,588 KB
testcase_19 AC 337 ms
76,712 KB
testcase_20 AC 169 ms
76,476 KB
testcase_21 AC 168 ms
76,768 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

from math import asin, sin, pi

R, K = map(int, input().split())


def area(l):
    a = asin(l / R)
    return (R * R) * (a + (sin(2 * a) / 2) + (pi / 2))


sa = 10 ** (-6)

for i in range(K):
    goal = R * R * pi * ((i + 1) / (K + 1))
    ok, ng = -R, R
    while ng - ok > sa:
        mid = (ok + ng) / 2
        if area(mid) < goal:
            ok = mid
        else:
            ng = mid
    print(ok)
0