結果
問題 |
No.1501 酔歩
|
ユーザー |
![]() |
提出日時 | 2025-06-12 21:09:07 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,341 bytes |
コンパイル時間 | 205 ms |
コンパイル使用メモリ | 81,664 KB |
実行使用メモリ | 80,128 KB |
最終ジャッジ日時 | 2025-06-12 21:09:50 |
合計ジャッジ時間 | 6,629 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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 K == 1: print(0) return # Compute sum_S S_num = 0 S_den = 1 for j in range(2, N+1): a_prev = A[j-2] a_curr = A[j-1] add_den = a_prev * a_curr add_num = 1 new_num = S_num * add_den + S_den * add_num new_den = S_den * add_den g = math.gcd(new_num, new_den) S_num = new_num // g S_den = new_den // g # Compute sum_K K_num = 0 K_den = 1 for j in range(2, K+1): a_prev = A[j-2] a_curr = A[j-1] add_den = a_prev * a_curr add_num = 1 new_num = K_num * add_den + K_den * add_num new_den = K_den * add_den g = math.gcd(new_num, new_den) K_num = new_num // g K_den = new_den // g if S_num == 0: print(0) return numerator = K_num * S_den denominator = K_den * S_num if denominator == 0: print(0) return g = math.gcd(numerator, denominator) p = numerator // g q = denominator // g if q == 1: print(p) else: print(f"{p}/{q}") if __name__ == "__main__": main()