結果
| 問題 | No.1501 酔歩 | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2021-05-07 23:55:40 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 726 ms / 2,000 ms | 
| コード長 | 704 bytes | 
| コンパイル時間 | 229 ms | 
| コンパイル使用メモリ | 82,188 KB | 
| 実行使用メモリ | 142,688 KB | 
| 最終ジャッジ日時 | 2024-09-15 12:03:09 | 
| 合計ジャッジ時間 | 27,883 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 53 | 
ソースコード
from fractions import Fraction as F
def main():
    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}')
if __name__ == '__main__':
    main()
            
            
            
        