No.5004 Room Assignment
タグ : / 解いたユーザー数 43
作問者 :
メモ
スコアとしての順位はこちらをご覧ください https://yukicoder.me/problems/no/5004/score
この問題は、Advent Calendar Contest 2021 1日目の問題です。
難易度は、Advent Calendar Contest 用に付けられたものです。正当な出力を行うことが出来ればコンテストで得点を獲得できます。
スコア問題であるため、最後の提出から5分間は次の提出を行うことができません。
この問題に対しての、(Writerが想定している)コンテスト中の言及ルールは以下です。
- 解法に直接かかわらない部分(ローカルテストの方法等)について、議論や相談を認めます。
- ビジュアライザを有志で作成し公開するなどしても構いません。
- さらに、自身の解法を直接言及することも、コードを共有することも認めます。
- ただし、そのことによって他の方が解を改良した場合、その得点は改良したコードの提出者のものとなります。
2021-12-25 23:30:00 をもってコンテスト期間終了とし、解説ページにてケース生成に用いたシードを公開します。
問題文
この問題はインタラクティブな問題です。
あなたは、とあるネットゲームのサーバーエンジニアです。
あなたの任務は、出現するプレイヤーを、なるべく実力の近いプレイヤー同士が同じ部屋になるように、かつなるべく速やかに部屋分けするプログラムを書くことです。
最初に、
これから
ジャッジとプログラムとの間で、
まず、
出現したプレイヤーは、最初はそのプレイヤー
続いて、あなたは以下の形式で
出力全体で
ここで、部屋を併合する際に、合計の人数が
また、同じ部屋同士を併合しようとした場合、その操作は無視されます。(WA とはなりません)
ジャッジの入力を必ず最後まで全て受け取ってください。行わなかった場合WAとなる可能性があります。
出力を行った後、必ず標準出力をflushしてください。行わなかった場合TLEする可能性があります。
採点方法
部屋を構成するプレイヤーのうち、最もスキル値の大きいプレイヤーのスキル値を
また、
但し、
このとき、各部屋の価値を以下のように定義します。
- 部屋に
人いる場合、部屋の価値は - 部屋に
人いる場合、部屋の価値は - 部屋に
人いる場合、部屋の価値は - 部屋に
人いる場合、部屋の価値は
AC 以外の判定を受けたケースが存在する場合は、そのケースについて
入力生成方法
- 採点に用いられるテストケースの数は
で固定 で固定 の総和は で固定- 全ての
に対し、
平均
下限
ただし、生成された値が
プレイヤーの出現タイミングの生成について
まず、実数
最初に、出現速度として関数
次に、標準的な累積の出現人数を表す関数
これは、
次に、
そして、数列
このとき、数列
配布物等
こちらから配布物(zip)を入手してください。
githubからも同一の内容が入手可能です。
この配布物を解答に用いたり、この配布物を他言語に翻訳したものを再配布しても構いません。
ローカルテストの際の注意:
この問題では、入力ファイルの内容がそのまま、インタラクションにより順を追ってコードに与えられることで採点が行われます。
そのため、ローカルテストの際は、ジャッジによるインタラクションは不要です。
適切なタイミングで適切な情報を受け取る実装にしてコードを実行して出力ファイルを生成し、それを採点プログラムに与えて採点結果を得てください。
サンプル
サンプル1
入力
6 4 1 5 2 4 7 2 50 4 3 4 4 4 2 0 51 2 100 100
出力
0 2 1 2 2 3 0 4 8 7 7 6 6 5 5 8 0 2 4 10 9 11
この入力はケースの生成方法に違反する例であることに注意してください。
プログラムはプレイヤー
プログラムはプレイヤー
プログラムはプレイヤー
プログラムはプレイヤー
プログラムはプレイヤー
プログラムはプレイヤー
プログラムはプレイヤー
プログラムはプレイヤー
プレイヤー
プレイヤー
プレイヤー
プレイヤー
最終的に、このプログラムのこのテストケースに対する得点は
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。