結果
| 問題 |
No.1501 酔歩
|
| コンテスト | |
| ユーザー |
lam6er
|
| 提出日時 | 2025-04-16 15:53:20 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,167 bytes |
| コンパイル時間 | 191 ms |
| コンパイル使用メモリ | 81,760 KB |
| 実行使用メモリ | 82,304 KB |
| 最終ジャッジ日時 | 2025-04-16 15:54:18 |
| 合計ジャッジ時間 | 5,464 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 38 WA * 15 |
ソースコード
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")
return
sum_num = 1
sum_den = 1
current_num = 1
current_den = 1
for m in range(3, n + 1):
if m - 3 < 0:
numerator = 0
else:
numerator = a[m - 3]
denominator = a[m - 1]
new_num = current_num * numerator
new_den = current_den * denominator
g = math.gcd(new_num, new_den)
new_num //= g
new_den //= g
current_num, current_den = new_num, new_den
new_sum_num = sum_num * current_den + current_num * sum_den
new_sum_den = sum_den * current_den
g = math.gcd(new_sum_num, new_sum_den)
sum_num = new_sum_num // g
sum_den = new_sum_den // g
if sum_num == 0:
print("0")
return
p2_num = sum_den
p2_den = sum_num
g = math.gcd(p2_num, p2_den)
p2_num //= g
p2_den //= g
if k == 2:
print(f"{p2_num}/{p2_den}")
return
sum_k_num = 1
sum_k_den = 1
current_k_num = 1
current_k_den = 1
for m in range(3, k + 1):
if m - 3 < 0:
numerator = 0
else:
numerator = a[m - 3]
denominator = a[m - 1]
new_k_num = current_k_num * numerator
new_k_den = current_k_den * denominator
g = math.gcd(new_k_num, new_k_den)
new_k_num //= g
new_k_den //= g
current_k_num, current_k_den = new_k_num, new_k_den
new_sum_k_num = sum_k_num * current_k_den + current_k_num * sum_k_den
new_sum_k_den = sum_k_den * current_k_den
g = math.gcd(new_sum_k_num, new_sum_k_den)
sum_k_num = new_sum_k_num // g
sum_k_den = new_sum_k_den // g
p_k_num = sum_k_num * p2_num
p_k_den = sum_k_den * p2_den
g = math.gcd(p_k_num, p_k_den)
p_k_num //= g
p_k_den //= g
if p_k_num == 0:
print("0")
else:
print(f"{p_k_num}/{p_k_den}")
if __name__ == "__main__":
main()
lam6er