G - プレゼント配り2 Editorial

Time Limit: 5 sec / Memory Limit: 1024 MB

配点: 100100

問題文

E869120 君は「AtCoder サンタ事務局」の社員であり,サンタにプレゼントを効率的に配らせるための仕事を,毎年行っています.

さて,今年もクリスマスがやってきました.彼の今年の仕事は,「AtCoder 通り」において,サンタと家の位置の情報を仕入れ,サンタのプレゼント配りを効率化することです.

AtCoder 通りは,西から東に走る,長さ 1 000 000 0001 \ 000 \ 000 \ 000 の道路です.最初,E869120 君に入ってきた,家の位置とサンタの位置の情報は,以下のようになります.

  • その通りに家は NN 軒ある.家には 1,2,...,N1, 2, ..., N と番号づけられており,番号 ii の家は,道路の西端から AiA_i メートルの位置にある.
  • その通りにサンタは MM 人いる.サンタには 1,2,...,M1, 2, ..., M と番号づけられており,番号 ii のサンタは,道路の西端から BiB_i メートルの位置にいる.

しかし,AtCoder 通りでは,家の引っ越しやサンタの移動などがたびたび起こります.そのため,クリスマスまでに QQ 回の情報変更が行われます.ii 回目の情報変更について,

  • Ti=1T_i = 1 のとき:番号 CiC_i の家の位置が,道路の西端から DiD_i メートルの位置に変更される.
  • Ti=2T_i = 2 のとき:番号 CiC_i のサンタの位置が,道路の西端から DiD_i メートルの位置に変更される.

そのとき,i=0,1,2,...,Qi = 0, 1, 2, ..., Q について,ii 回目の変更直後の情報において,以下の問題に答えてください.

  • すべての家にプレゼントが配られるために,MM 人のサンタを合計して,何メートル移動する必要があるか,求めよ.
  • ただし,すべてのサンタは常にプレゼントを十分な個数持っているものとする.
  • また,サンタは家のある位置に移動することによって,プレゼントを配ることができる.遠い位置からプレゼントを投げて配るなどということはできない.サンタ達はプレゼントを配り終わった後,元の場所に戻る必要はない.

ただし,「00 回目の変更直後の情報」というのは,最初に E869120 君に入ってきた情報のことを指します.

制約

  • 1N100 0001 \leq N \leq 100 \ 000
  • 1M100 0001 \leq M \leq 100 \ 000
  • 0Q100 0000 \leq Q \leq 100 \ 000
  • 0Ai1 000 000 0000 \leq A_i \leq 1 \ 000 \ 000 \ 000, AiA_i は偶数
  • 0Bi1 000 000 0000 \leq B_i \leq 1 \ 000 \ 000 \ 000, BiB_i は奇数
  • 1Ti21 \leq T_i \leq 2
  • Ti=1T_i = 1 のとき,1CiN1 \leq C_i \leq N0Di1 000 000 0000 \leq D_i \leq 1 \ 000 \ 000 \ 000 を満たし,DiD_i は偶数である.
  • Ti=2T_i = 2 のとき,1CiM1 \leq C_i \leq M0Di1 000 000 0000 \leq D_i \leq 1 \ 000 \ 000 \ 000 を満たし,DiD_i は奇数である.
  • 22 つの家が同じ位置に来るような情報の変更はない.
  • 22 つのサンタが同じ位置に来るような情報の変更はない.

部分点

この問題はいくつかの小課題に分けられ,その小課題のすべてのテストケースに正解した場合に「この小課題に正解した」とみなされます.
提出したソースコードの得点は,正解した小課題の点数の合計となります.

  1. (2 点) M=1M = 1Q=0Q = 0
  2. (6 点) M=2M = 2Q=0Q = 0
  3. (14 点) N250N \leq 250M250M \leq 250Q=0Q = 0
  4. (9 点) N3 000N \leq 3 \ 000M3 000M \leq 3 \ 000Q=0Q = 0
  5. (9 点) Q=0Q = 0
  6. (35 点) N40 000,M40 000,Q40 000,Ti=1N \leq 40 \ 000, M \leq 40 \ 000, Q \leq 40 \ 000, T_i = 1
  7. (19 点) N40 000,M40 000,Q40 000N \leq 40 \ 000, M \leq 40 \ 000, Q \leq 40 \ 000
  8. (6 点) 追加の制約はない.

入力

入力は以下の形式で標準入力から与えられます.

NN
A1A_1 A2A_2 A3A_3 ... ANA_N
MM
B1B_1 B2B_2 B3B_3 ... BMB_M
QQ
T1T_1 C1C_1 D1D_1
T2T_2 C2C_2 D2D_2
T3T_3 C3C_3 D3D_3
: : :
TQT_Q CQC_Q DQD_Q

出力

Q+1Q+1 行に渡って出力してください.
ii 行目には,i1i-1 番目の変更の直後の情報において,サンタの合計移動距離の最小値を出力してください.


入力例 1Copy

Copy
5
12 18 36 50 68
1
25
0

出力例 1Copy

Copy
69

以下のようにサンタが移動する場合,合計移動距離 6969 となり,これが最小です.

  • サンタ 11 が家 11 に移動し,プレゼントを配る.その時点での移動距離は 1313 である.
  • サンタ 11 が家 22 に移動し,プレゼントを配る.その時点での移動距離は 1919 である.
  • サンタ 11 が家 33 に移動し,プレゼントを配る.その時点での移動距離は 3737 である.
  • サンタ 11 が家 44 に移動し,プレゼントを配る.その時点での移動距離は 5151 である.
  • サンタ 11 が家 55 に移動し,プレゼントを配る.その時点での移動距離は 6969 である.

入力例 2Copy

Copy
5
138 218 224 110 146
2
127 157
0

出力例 2Copy

Copy
120

この入力例は小課題2の制約を満たします.
なお,小課題2は,入力例 1 のような M=1M = 1 の場合を含まないことにご注意ください.


入力例 3Copy

Copy
10
2412 1276 1948 2000 2542 2558 2070 2712 2820 1542
6
3001 1545 1213 2473 2559 2019
0

出力例 3Copy

Copy
595

この入力例は小課題 3, 4, 5 の制約を満たします.


入力例 4Copy

Copy
10
2412 1276 1948 2000 2542 2558 2070 2712 2820 1542
6
3001 1545 1213 2473 2559 2019
7
1 2 1348
1 8 3200
2 3 2951
1 4 2102
2 5 1137
1 10 420
2 1 2207

出力例 4Copy

Copy
595
667
866
778
830
959
1676
1840


2025-04-05 (Sat)
23:20:42 +00:00