結果

問題 No.3023 Utility is Max?
ユーザー kidodesu
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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())

0