No.3023 Utility is Max?
レベル : / 実行時間制限 : 1ケース 1.000秒 / メモリ制限
: 256 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 12
作問者 :
ArcAki
/ テスター :
👑
p-adic
タグ : / 解いたユーザー数 12
作問者 :
問題文最終更新日: 2025-02-17 01:02:40
お知らせ
2月17日1:03 (JST) に問題文を変更しました。
問題文
Sさんはお昼ご飯に「春巻きご飯」と「チャーハン」を食べることにしており、一日一回Kさんが買い出しに行きます。
彼女らが住む冥界にはこれらを売っている店が店 $1$ と店 $2$ の二つだけあります。これらのお店での価格は異なる可能性があります。
Kさんは日 $i$ にSさんに以下の情報を伝えます。ただし一日に行けるお店はどちらか一方で、どちらのお店で購入するかは伝えません。
- 当日のお店 $j$ における「春巻きご飯」の1単位あたりの価格 ${A_i}_j$ と「チャーハン」の1単位あたりの価格 ${B_i}_j$
- 当日の予算 $I_i$
ここでSさんの好みは「春巻きご飯」の消費量 $x (> 0)$ 及び「チャーハン」の消費量 $y (>0)$ に対し日毎に以下の条件を満たす関数 $f_i(x, y)$ として定められており入力では与えられません。
- 正の実数である $x, y$ のどちらについても、一方の値について変化させる時 $f_i(x, y)$ は狭義単調増加である。
つまり $0< x_1 < x_2$ なるすべての $(x_1, x_2)$ の組に対し任意の $y > 0$ で $f_i(x_1, y) < f_i(x_2, y)$ であり、
$ 0 < y_1 < y_2$ なるすべての $(y_1, y_2)$ の組に対し任意の $x > 0$ で $f_i(x, y_1) < f_i(x, y_2)$ である。
Sさんはおっちょこちょいなのか予算に対してそもそも買えない量を指定したり買える消費量のうち満足度が最大にならないものを指定することがあります。
多忙なKさんに変わって $Q$ 日分の 「春巻きご飯」と「チャーハン」の量の組み合わせ ${X_i}_j, {Y_i}_j (i=1,2,…,Q, j=1,2)$ が最適でありうるかそれぞれ求めてください。
ただし $i$ 日目に指定された消費量の組み合わせ ${X_i}_j, {Y_i}_j$ に対して最適でありうるとは以下の条件を満たすことを指します。
-
$i$ 日目にKさんがどちらの店を訪れても指定された量を予算内に購入可能である。
つまり購入する量の組 ${X_i}_j, {Y_i}_j$ に対して ${A_i}_j × {X_i}_j + {B_i}_j × {Y_i}_j ≤ I_i (j = 1,2)$ である。 -
$i$ 日目のSさんの好み次第では $i$ 日目にどちらの店を訪れても指定された量で、それぞれのお店における最大の満足度を得ることが可能である。
つまり指定された量の組 $({X_i}_1, {Y_i}_1,{X_i}_2, {Y_i}_2)$ に対して以下を満たす好み $f_i(x, y)$ が存在する。- $j = 1, 2$ の双方に対して以下を満たす。
- ${A_i}_j × x + {B_i}_j × y ≤ I_i$ なる任意の正実数の組 $(x, y)$ に対して $f_i(x, y) ≤ f_i({X_i}_j, {Y_i}_j)$ を満たす。
入力
$Q$ $I_1$ ${A_1}_1\ {B_1}_1\ {X_1}_1\ {Y_1}_1$ ${A_1}_2\ {B_1}_2\ {X_1}_2\ {Y_1}_2$ $I_2$ ${A_2}_1\ {B_2}_1\ {X_2}_1\ {Y_2}_1$ ${A_2}_2\ {B_2}_2\ {X_2}_2\ {Y_2}_2$ $…$ $I_Q$ ${A_Q}_1\ {B_Q}_1\ {X_Q}_1\ {Y_Q}_1$ ${A_Q}_2\ {B_Q}_2\ {X_Q}_2\ {Y_Q}_2$
- $1 ≤ Q ≤ 10^5$
- $1 ≤ I_i, {A_i}_j, {B_i}_j, {X_i}_j, {Y_i}_j ≤ 10^9$
- 入力は全て整数である。
出力
日 $i$ の指定が最適でありうるならYesを、最適でありえない場合はNoを出力してください。$i$ 行目には日 $i$ の答えを出力してください。 最後に改行してください。
サンプル
サンプル1
入力
4 10 2 3 2 2 1 4 6 1 12 6 6 100 100 13 1 1 1 1000000000 1 1 1 1 2 1 2 3 29 2 5 2 5 7 1 4 1
出力
Yes No No No
例えば1日目では「春巻きご飯」、「チャーハン」が店1, 2それぞれで(2, 3), (1, 4)の価格になっています。この指定方法でそれぞれのお店において満足度が最大になる好みは存在するのでYesを出力してください。2日目ではそもそも購入できない指定となっているのでNoを出力します。
サンプル2
入力
1 1000000000 1 10 999999990 1 10 1 1 999999990
出力
Yes
流石に炭水化物すぎますね。すごい食欲です。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。