J - 看板の塗り替え Editorial

Time Limit: 5 sec / Memory Limit: 256 MB

問題

背景

イクタ君は一列に並んだ看板の色がすべて同じ色になるように塗り替えようとしている。 一方、ビッグブリッジ伯爵はイクタ君の邪魔をするために、次々と看板を増やしたり減らしたりする。 それぞれの邪魔が行われた時点で塗り替えを始めると、すべての看板を同じ色にするのにどれだけ時間がかかるか求めよ。

課題

N(1N100,000)N(1 ≤ N ≤ 100,000) 個の看板が xx 軸上に並んでいる。 i 番目の看板は xi(109xi109)x_i(-10^9 ≤ x_i ≤ 10^9) の位置にあり、ai(1ai200,000)a_i(1 ≤ a_i ≤ 200,000) の色で塗られている。 ビッグブリッジ伯爵は Q(1Q100,000)Q(1 ≤ Q ≤ 100,000) 回の看板の追加や削除を行う。 各追加と削除が行われた後にイクタ君が塗り替えを始めると、すべての看板を同じ色に塗り替えるのにどれだけ時間がかかるか求めよ。 イクタ君は最初 x=0x = 0 の位置におり、xpx_p から xqx_q に移動するのには xpxq|x_p - x_q| の時間がかかる。 また、apa_p の色の看板を aqa_q の色に塗り替えるのには apaq|a_p - a_q| の時間がかかる。

配点

300300

入力

入力は以下の形式で与えられる。

NN
x1x_1 a1a_1
:
xNx_N aNa_N
QQ
c1c_1 y1y_1 b1b_1
:
cQc_Q yQy_Q bQb_Q

11 行目には、はじめから並んでいる看板の数を表す整数 NN が与えられる。 続く NN 行には、はじめから並んでいる看板の位置と色を表す整数 xix_iaia_i が与えられる。 N+2N+2 行目には、看板の追加・削除の回数を表す整数 QQ が与えられる。 続く QQ 行には、看板の追加・削除を表す整数 cic_iyiy_ibib_i が与えられる。 cic_i はクエリの種類を表す。 ci=1c_i = 1 のとき看板の追加を意味し、yiy_i の位置に bib_i の色の看板が追加される。 ci=2c_i = 2 のとき看板の削除を意味し、yiy_i の位置にある bib_i の色の看板が削除される。

制約

  • 1N100,0001 ≤ N ≤ 100,000
  • 109xi109-10^9 ≤ x_i ≤ 10^9
  • 1ai200,0001 ≤ a_i ≤ 200,000
  • 1Q100,0001 ≤ Q ≤ 100,000
  • 1ci21 ≤ c_i ≤ 2
  • 109yi109-10^9 ≤ y_i ≤ 10^9
  • 1bi200,0001 ≤ b_i ≤ 200,000
  • 削除のクエリに対して削除される看板は必ず存在する。
  • 任意の時点で看板の個数が 00 になることはない。
  • 任意の時点で同じ位置に複数の看板が存在することはない。

部分点

この問題には部分点が設定されている。この問題のテストケースのうち 3030 点分は追加で以下の制約を満たす。

  • 1N2,0001 ≤ N ≤ 2,000
  • 1Q2,0001 ≤ Q ≤ 2,000

出力

各追加と削除が行われた後の看板の列に対して、イクタ君がすべての看板を同じ色に塗り替えるのに必要な最小の時間を 11 行づつ出力せよ。


入力例1Copy

Copy
1
10 1
3
1 2 2
1 -2 3
2 10 1

出力例1Copy

Copy
3
9
3

11 つめのクエリで看板が追加された時点では、位置 x=2x=2 に色 a=2a=2 の看板が、位置 x=10x=10 に色 a=1a=1 の看板があるので、 x=2x=2 の看板を色 a=1a=1 で塗り替えると時間 33 ですべての看板が同じ色になる。

22 つめのクエリで看板が追加された時点では、位置 x=2x=-2 に色 a=3a=3 の看板が、位置 x=2x=2 に色 a=2a=2 の看板が、位置 x=10x=10 に色 a=1a=1 の看板があるので、 x=2x=-2 の看板を色 a=1a=1 で塗り替えたあと、x=2x=2 の看板を色 a=1a=1 で塗り替えると時間 99 ですべての看板が同じ色になる。

33 つめのクエリで看板が削除された時点では、位置 x=2x=-2 に色 a=3a=3 の看板が、位置 x=2x=2 に色 a=2a=2 の看板があるので、どちらかの看板をもう一方の看板の色に塗り替えると時間 33 ですべての看板が同じ色になる。



2025-04-05 (Sat)
07:22:21 +00:00