結果
問題 | No.1501 酔歩 |
ユーザー |
![]() |
提出日時 | 2021-05-07 23:18:40 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 187 ms / 2,000 ms |
コード長 | 885 bytes |
コンパイル時間 | 275 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 90,112 KB |
最終ジャッジ日時 | 2024-09-15 11:23:55 |
合計ジャッジ時間 | 7,508 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 53 |
ソースコード
mod = 1000000007 eps = 10**-9 def main(): import sys from math import gcd input = sys.stdin.readline N, K = map(int, input().split()) A = list(map(int, input().split())) if N == 1: print("1/1") exit() if K == 1: print(0) exit() if K == N: print("1/1") exit() upper = [0] * N lower = [1] * N for i in range(1, N-1): a = A[i-1] b = A[i+1] upper[i] = lower[i-1] * b lower[i] = lower[i-1] * (a+b) - a * upper[i-1] g = gcd(upper[i], lower[i]) upper[i] //= g lower[i] //= g u = l = 1 for i in range(K-1, N-1): u *= upper[i] l *= lower[i] g = gcd(u, l) u //= g l //= g if u == 0: print(0) else: print(str(u) + "/" + str(l)) if __name__ == '__main__': main()