結果
問題 | 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()