結果
| 問題 |
No.2128 Round up!!
|
| コンテスト | |
| ユーザー |
miscalc
|
| 提出日時 | 2022-11-18 23:20:23 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 315 ms / 2,000 ms |
| コード長 | 526 bytes |
| コンパイル時間 | 304 ms |
| コンパイル使用メモリ | 81,804 KB |
| 実行使用メモリ | 78,436 KB |
| 最終ジャッジ日時 | 2024-09-20 03:51:25 |
| 合計ジャッジ時間 | 4,291 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 12 |
ソースコード
import math
def divceil(a, b):
return (a + b - 1) // b
def solve(x, a, b):
a, b = min(a, b), max(a, b)
g = math.gcd(a, b)
k = a // g
x %= a * b // g
if x == 0:
return 1
n, m = divceil(x, a), divceil(x, b)
if a == 1 or a == b:
return 1 if x == m * b else 2
ans = 0
if not(x == n * a or x == m * b):
ans += 1
if not(n * a < m * b):
ans -= 1
ans += 2 * (k - m + 1)
return ans
t = int(input())
for _ in range(t):
x, a, b = map(int, input().split())
print(solve(x, a, b) % 998244353)
miscalc