結果

問題 No.1501 酔歩
コンテスト
ユーザー to-omer
提出日時 2021-05-07 23:54:17
言語 Python3
(3.14.3 + numpy 2.4.4 + scipy 1.17.1)
コンパイル:
python3 -mpy_compile _filename_
実行:
python3 _filename_
結果
AC  
実行時間 1,446 ms / 2,000 ms
コード長 565 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 395 ms
コンパイル使用メモリ 20,704 KB
実行使用メモリ 59,724 KB
最終ジャッジ日時 2026-04-04 19:38:45
合計ジャッジ時間 50,411 ms
ジャッジサーバーID
(参考情報)
judge4_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 53
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

from fractions import Fraction as F
N,K=map(int, input().split())
*A,=map(F, input().split())
if K == N:
    print('1/1')
elif K == 1:
    print('0')
else:
    D=[(F(0),F(0))]
    for i in range(1,N-1):
        b = A[i-1]/(A[i-1]+A[i+1])
        a = A[i+1]/(A[i-1]+A[i+1])
        bb, aa = D[-1]
        de = F(1) - b*aa
        nb = b * bb / de
        na = a / de
        D.append((nb, na))
    X = [F(0)] * N
    X[N-1] = F(1)
    for i in range(N-2, 0, -1):
        b, a = D[i]
        X[i] = b + a * X[i+1]
    print(f'{X[K-1].numerator}/{X[K-1].denominator}')
0