|
2024年12月10日
情報オリンピック日本委員会
|
Alice と Bob はソフトクリーム屋さん JOICE に来ている.この店では,客がフレーバー・コーン・トッピングをそれぞれひとつずつ選ぶことによって,ソフトクリームを注文する.
ソフトクリームの値段は選んだフレーバー・コーン・トッピングの値段の合計となる.ここで,与えられた整数 P に対して,ソフトクリームの スコア をその値段と P との差の絶対値とする.
Alice と Bob は 2 人で 1 つのソフトクリームを注文しようとしているが,2 人がどんなソフトクリームを注文したいかは真逆である.具体的には,Alice はスコアを最大化することを,Bob はスコアを最小化することを目的としている.そこで,以下の方法で,注文するソフトクリームのフレーバー・コーン・トッピングを選ぶことにした.
フレーバー,コーン,トッピングに関する情報および整数 P が与えられたとき,両者が各選択で最善を尽くした場合に最終的に注文するソフトクリームのスコアを求めるプログラムを作成せよ.
入力は以下の形式で与えられる.
X Y Z P
A1 A2 … AX
B1 B2 … BY
C1 C2 … CZ
最終的に注文するソフトクリームのスコアを 1 行で出力せよ.
入力例 1
1 1 3 22
5
10
9 2 3
出力例 1
5
フレーバー・コーン・トッピングの選び方は以下の 3 通りある.
まず Alice は値段 5 のフレーバーを選び,次に Bob は値段 10 のコーンを選ぶ.
最後に,Alice はスコアを最大化したいので,値段 2 のトッピングを選んでスコアを 5 にするのが最善である.
よって,両者が最善を尽くした場合のスコアは 5 になる.
この入力例はすべての小課題の制約を満たす.
入力例 2
1 2 2 100
11
33 44
40 60
出力例 2
15
フレーバー・コーン・トッピングの選び方は以下の 4 通りある.
まず Alice は値段 11 のフレーバーを選ぶ.
次に Bob は値段 33 のコーンと値段 44 のコーンのうちいずれかを選ぶ. ここで Bob が選んだコーンに応じて,Alice はその後スコアを最大化するために以下のような行動をとる.
Bob はスコアを最小化したいので,値段 44 のコーンを選んでスコアを 15 にするのが最善である.
よって,両者が最善を尽くした場合のスコアは 15 になる.
この入力例は小課題 2,3,4,5 の制約を満たす.
入力例 3
2 2 2 0
15 23
5 16
23 45
出力例 3
73
P=0 のとき,スコアは単に選んだフレーバー・コーン・トッピングの値段の合計となるので,Alice はより値段の高いフレーバー・トッピングを選び,Bob はより値段の低いコーンを選ぶのが最善である.
よって,選ぶフレーバー・コーン・トッピングの値段はそれぞれ 23,5,45 であり,スコアは 73 になる.
この入力例は小課題 3,4,5 の制約を満たす.
入力例 4
3 3 3 50
12 5 5
2 19 37
10 5 15
出力例 4
14
同じ値段のフレーバーやコーン,トッピングが存在する場合もある事に注意せよ.
この入力例は小課題 3,4,5 の制約を満たす.