UVa 13007 - D as in Daedalus

Source

Latin America Regional(20151115)
(ACM ICPC, Latin American Regional Contest)
UVa 13007

問題概要

次のような $N$ 人でやるゲームを $M$ 回行う.
各ゲームでは,それぞれの人は $\{1,10,100,1000,10000\}$ の中から $1$ つの整数を選ぶ.
その選んだ整数の和が $B$ 以下であれば,それぞれの人が,自分が選んだ整数の値だけのポイントを得られる.
選んだ整数の和が $B$ を超えた場合は誰もポイントを得られない.
今,各ゲームについて,それぞれのプレイヤーが選んだ整数 $C_1,C_2,\ldots,C_N$ と,そのゲームにおける $B$ の値が与えられる.
他のプレイヤーが選ぶ整数は変わらないとして,$1$ 番目のプレイヤーが最適な手を選んだとすると,実際に得た点数より何ポイント高い点数を得ることができたかを求める問題.

解法

$1$ 番目のプレイヤーが得た点数を計算して,$B$ を超えない中で最大の整数を選べば最適なので,その場合に得られる点数も計算して差を取る.

C++によるスパゲッティなソースコード

この部分を表示するには表示権限を持つユーザーでログインする必要があります.


Current time: 2017年11月18日04時26分40秒
Last modified: 2015年12月04日14時47分13秒 (by laycrs)
Tags: Competitive_Programming UVa_Online_Judge UVa_Contest_20151115_1
トップページに戻る

Logged in as: unknown user (not login)

ログイン: