結果
問題 |
No.3023 Utility is Max?
|
ユーザー |
![]() |
提出日時 | 2025-02-15 00:19:09 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 611 ms / 1,000 ms |
コード長 | 855 bytes |
コンパイル時間 | 4,665 ms |
コンパイル使用メモリ | 82,124 KB |
実行使用メモリ | 77,520 KB |
最終ジャッジ日時 | 2025-02-15 00:20:05 |
合計ジャッジ時間 | 15,094 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 17 |
ソースコード
q = int(input()) def make(): I = int(input()) a0, b0, x0, y0 = tuple(map(int, input().split())) a1, b1, x1, y1 = tuple(map(int, input().split())) if a0 * x0 + b0 * y0 > I: return "No" if a1 * x1 + b1 * y1 > I: return "No" ama0 = I - a0 * x0 - b0 * y0 ama1 = I - a1 * x1 - b1 * y1 if ama0 >= a0 or ama0 >= b0 or ama1 >= a1 or ama1 >= b1: return "No" if a0 * b1 > a1 * b0: a0, b0, x0, y0, a1, b1, x1, y1 = a1, b1, x1, y1, a0, b0, x0, y0 f0 = (a1 * b0 - a0 * b1) * x0 <= I * (b0 - b1) f1 = (a1 * b0 - a0 * b1) * x0 < I * (b0 - b1) f2 = (a1 * b0 - a0 * b1) * x1 >= I * (b0 - b1) f3 = (a1 * b0 - a0 * b1) * x1 > I * (b0 - b1) if (f1 and f3) or (f0 and f3) or (f1 and f2): return "No" else: return "Yes" for _ in range(q): print(make())