No.2482 Sandglasses
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 65
作問者 : Magentor / テスター : ytqm3
タグ : / 解いたユーザー数 65
作問者 : Magentor / テスター : ytqm3
問題文最終更新日: 2023-09-28 19:38:44
問題文
パーツ $A$ とパーツ $B$ からなる砂時計が $N$ 個あり、それぞれのパーツには最大で $K$ グラムの砂が入ります。
$i \ (1 \leq i \leq N)$ 個目の砂時計は、パーツ $a_i$ を上にしており、パーツ $A$ に $b_i$ グラム、パーツ $B$ に $K-b_i$ グラムの砂が入っていて、砂は $1$ 秒あたり $1$ グラム下にあるパーツへ落ちます。ここで、与えられる $b$ において $i \neq j$ ならば $b_i \neq b_j$ が成り立ちます。
あなたは砂時計の砂が落ちている間、以下の操作を繰り返します。
- もし下にあるパーツに $K$ グラムの砂が入っている場合、それをひっくり返す。
- もしパーツ $A$ に入っている砂の量が同じ砂時計の組があるとき、それをどちらもひっくり返す。
ここで、砂時計をひっくり返す時間は考えないものとし、砂時計をひっくり返した瞬間に砂時計の砂が落ち始めるものとします。
また、制約より $3$ つ以上の砂時計において、パーツ $A$ に入る砂時計の量が同じになることはありません。
このとき、$T$ 秒後にそれぞれの砂時計のパーツ $A$ に砂が入っている量を求めてください。
入力
$N$ $K$ $T$ $a_1$ $a_2$ $\dots$ $a_N$ $b_1$ $b_2$ $\dots$ $b_N$
- 入力は全て整数
- $1 \leq N \leq 2 \times 10^5$
- $2 \leq K \leq 10^{9}$
- $1 \leq T \leq 10^{9}$
- $a_i$ は
A
またはB
$(1 \leq i \leq N)$ - $0 < b_i < K \ (1 \leq i \leq N)$
- $i \neq j$ のとき $b_i \neq b_j$
出力
$N$ 個出力せよ。 $i$ 個目には $T$ 秒後の砂時計 $i$ のパーツ $A$ に砂が入っている量を出力せよ。(21:48 修正)
サンプル
サンプル1
入力
2 10 15 B A 6 8
出力
1 7
$15$ 秒間の操作は以下のようになります。
- $1$ 秒後、砂時計 $1$ と $2$ のパーツ $A$ に入っている砂の量が $7$ グラムで等しくなるので、砂時計 $1,2$ をひっくり返す。
- $4$ 秒後、砂時計 $2$ のパーツ $A$ に入っている砂の量が $10$ グラムになるので砂時計 $2$ をひっくり返す。
- $8$ 秒後、砂時計 $1$ のパーツ $B$ に入っている砂の量が $10$ グラムになるので砂時計 $2$ をひっくり返す。
- $11$ 秒後、砂時計 $1$ と $2$ のパーツ $A$ に入っている砂の量が $3$ グラムで等しくなるので、砂時計 $1,2$ をひっくり返す。
- $14$ 秒後、砂時計 $1$ のパーツ $B$ に入っている砂の量が $10$ グラムになるので砂時計 $2$ をひっくり返す。
$15$ 秒後、砂時計 $1$ のパーツ $A$ には $1$ グラム、砂時計 $2$ のパーツ $A$ には $7$ グラムの砂が入っています。
サンプル2
入力
2 3 3 A B 1 2
出力
1 2
サンプル3
入力
9 1992 2023 A B B A B B A B A 19 289 514 318 537 1722 443 972 114
出力
239 1424 1672 1447 1705 1980 1580 1909 989
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。