結果

問題 No.3023 Utility is Max?
ユーザー ArcAki
提出日時 2025-02-17 02:07:22
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,214 bytes
コンパイル時間 1,180 ms
コンパイル使用メモリ 82,268 KB
実行使用メモリ 155,320 KB
最終ジャッジ日時 2025-02-17 02:07:31
合計ジャッジ時間 8,666 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 1 WA * 16
権限があれば一括ダウンロードができます

ソースコード

diff #

# GPT-o3-highによる解答

def solve():
    import sys
    data = sys.stdin.read().split()
    if not data:
        return
    t = int(data[0])
    idx = 1
    out_lines = []
    for _ in range(t):
        I = int(data[idx]); idx += 1
        A1 = int(data[idx]); B1 = int(data[idx+1]); X1 = int(data[idx+2]); Y1 = int(data[idx+3])
        idx += 4
        A2 = int(data[idx]); B2 = int(data[idx+1]); X2 = int(data[idx+2]); Y2 = int(data[idx+3])
        idx += 4
        
        ok = True
        # (1) まず,各店で予算を使い切っているか?
        if A1 * X1 + B1 * Y1 != I:
            ok = False
        if A2 * X2 + B2 * Y2 != I:
            ok = False
        # (2) クロス条件:
        # もし店1の価格で店2の指定量が買える(=予算内)ならば必ず予算を使い切る必要がある
        if A1 * X2 + B1 * Y2 < I:
            ok = False
        # 同様に,もし店2の価格で店1の指定量が買えるならば予算使い切りでなければならない
        if A2 * X1 + B2 * Y1 < I:
            ok = False

        out_lines.append("Yes" if ok else "No")
    sys.stdout.write("\n".join(out_lines))

if __name__ == '__main__':
    solve()
0