結果
問題 | No.2953 Maximum Right Triangle |
ユーザー |
![]() |
提出日時 | 2025-02-16 17:50:13 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 32 ms / 2,000 ms |
コード長 | 695 bytes |
コンパイル時間 | 652 ms |
コンパイル使用メモリ | 81,796 KB |
実行使用メモリ | 54,308 KB |
最終ジャッジ日時 | 2025-02-16 17:50:15 |
合計ジャッジ時間 | 1,281 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 6 |
ソースコード
import mathT = int(input())def solve(d, ax, ay):if ay == 0:return ax * dif ax == 0:return ay * dg = math.gcd(ax, ay)stepx = ax//gstepy = ay//g# 左方向に進む(-stepy, stepx)cnt1 = min(ax//stepy, (d - ay)//stepx)# (ax, ay) から cnt1 歩進むbx = ax - stepy*cnt1by = ay + stepx*cnt1candi1 = abs(ax * by - ay * bx)# 右方向に進む(stepy, -stepx)cnt2 = min((d - ax)//stepy, ay//stepx)bx = ax + stepy*cnt2by = ay - stepx*cnt2candi2 = abs(ax * by - ay * bx)return max(candi1, candi2)for i in range(T):d, ax, ay = map(int, input().split())print(solve(d, ax, ay))