結果
| 問題 |
No.2953 Maximum Right Triangle
|
| コンテスト | |
| ユーザー |
titia
|
| 提出日時 | 2024-11-08 23:13:34 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 539 bytes |
| コンパイル時間 | 273 ms |
| コンパイル使用メモリ | 12,416 KB |
| 実行使用メモリ | 10,624 KB |
| 最終ジャッジ日時 | 2024-11-08 23:13:47 |
| 合計ジャッジ時間 | 929 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 2 WA * 4 |
ソースコード
import sys
input = sys.stdin.readline
T=int(input())
for tests in range(T):
D,x,y=map(int,input().split())
if x==0:
print(y*D)
continue
if y==0:
print(x*D)
continue
# (z,w) = (x,y) + k(-y,x)
# 0<=x-ky<=D
# 0<=y+kx<=D
# k<=x/y,k<=(D-y)/x,k>=(x-D)/y,k>=-y/x
MAX=min(x//y,(D-y)//x)
MIN=max((x-D+y-1)//y,(-y+x-1)//x)
if MIN<=MAX:
A1=abs(x*(y+MIN*x)-y*(x-MIN*y))
A2=abs(x*(y+MAX*x)-y*(x-MAX*y))
print(max(A1,A2))
else:
print(0)
titia