結果
問題 |
No.1501 酔歩
|
ユーザー |
![]() |
提出日時 | 2025-06-12 21:11:13 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,414 bytes |
コンパイル時間 | 186 ms |
コンパイル使用メモリ | 82,000 KB |
実行使用メモリ | 79,616 KB |
最終ジャッジ日時 | 2025-06-12 21:12:52 |
合計ジャッジ時間 | 6,035 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 WA * 13 |
ソースコード
import sys import math def main(): N, K = map(int, sys.stdin.readline().split()) A = list(map(int, sys.stdin.readline().split())) if K == 1: print("0") return if K == N: print("1/1") return # Compute sumK: sum_{k=0}^{K-2} 1/(A[k]*A[k+1]) sumK_num = 0 sumK_den = 1 for k in range(K-1): a = A[k] * A[k+1] # Add 1/a to sumK_num/sumK_den new_num = sumK_num * a + sumK_den * 1 new_den = sumK_den * a g = math.gcd(new_num, new_den) sumK_num = new_num // g sumK_den = new_den // g # Compute sumN: sum_{k=0}^{N-2} 1/(A[k]*A[k+1]) sumN_num = 0 sumN_den = 1 for k in range(N-1): a = A[k] * A[k+1] new_num = sumN_num * a + sumN_den * 1 new_den = sumN_den * a g = math.gcd(new_num, new_den) sumN_num = new_num // g sumN_den = new_den // g # p = sumK / sumN = (sumK_num * sumN_den) / (sumK_den * sumN_num) numerator = sumK_num * sumN_den denominator = sumK_den * sumN_num if denominator == 0: print("0") return if numerator == 0: print("0") return g = math.gcd(numerator, denominator) p = numerator // g q = denominator // g if q == 1: print(f"{p}/1") else: print(f"{p}/{q}") if __name__ == "__main__": main()