結果
問題 |
No.1501 酔歩
|
ユーザー |
![]() |
提出日時 | 2025-06-12 16:36:52 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,375 bytes |
コンパイル時間 | 303 ms |
コンパイル使用メモリ | 82,268 KB |
実行使用メモリ | 80,640 KB |
最終ジャッジ日時 | 2025-06-12 16:37:02 |
合計ジャッジ時間 | 5,627 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 38 WA * 15 |
ソースコード
import math def main(): import sys input = sys.stdin.read data = input().split() n = int(data[0]) k = int(data[1]) a = list(map(int, data[2:2+n])) if n == 1: print(0) return # Compute sum_S sum_num = 0 sum_den = 1 for i in range(n-1): ai = a[i] ai1 = a[i+1] term_num = 1 term_den = ai * ai1 new_num = sum_num * term_den + term_num * sum_den new_den = sum_den * term_den g = math.gcd(new_num, new_den) sum_num = new_num // g sum_den = new_den // g # Compute sum_Sk sum_k_num = 0 sum_k_den = 1 for i in range(k-1): ai = a[i] ai1 = a[i+1] term_num = 1 term_den = ai * ai1 new_num = sum_k_num * term_den + term_num * sum_k_den new_den = sum_k_den * term_den g = math.gcd(new_num, new_den) sum_k_num = new_num // g sum_k_den = new_den // g # Compute probability numerator = sum_k_num * sum_den denominator = sum_k_den * sum_num g = math.gcd(numerator, denominator) p = numerator // g q = denominator // g if q == 0: print(0) else: if q == 1: print(p) else: print(f"{p}/{q}") if __name__ == '__main__': main()