atcoder#AGC034D. [AGC034D] Manhattan Max Matching

[AGC034D] Manhattan Max Matching

配点 : 12001200

問題文

すぬけくんは、二次元平面上に赤いボールと青いボールを置いて遊んでいます。

すぬけくんはまず、赤いボールを置く操作を NN 回行いました。 ii 回目の操作では、座標 (RXi,RYi)(RX_i,RY_i)RCiRC_i 個の赤いボールを置きました。 すぬけくんは次に、青いボールを置く操作を NN 回行いました。 ii 回目の操作では、座標 (BXi,BYi)(BX_i,BY_i)BCiBC_i 個の青いボールを置きました。 ここで、すぬけくんが置いた赤いボールの個数の総和と青いボールの個数の総和は等しいです。 つまり、i=1NRCi=i=1NBCi\sum_{i=1}^{N} RC_i = \sum_{i=1}^{N} BC_i です。 以後、この値を SS とおきます。

すぬけくんはこれから、赤いボールと青いボールのペアを SS 個作ろうとしています。 どのボールも、ちょうど 11 つのペアに属するようにします。 ここで、座標 (rx,ry)(rx,ry) にある赤いボールと座標 (bx,by)(bx,by) にある青いボールのペアのスコアを、 rxbx+ryby|rx-bx| + |ry-by| と定義します。

すぬけくんは、ペアのスコアの総和を最大化したいです。 すぬけくんのために、ペアのスコアの総和の最大値を求めてください。

制約

  • 1N10001 \leq N \leq 1000
  • 0RXi,RYi,BXi,BYi1090 \leq RX_i,RY_i,BX_i,BY_i \leq 10^9
  • 1RCi,BCi101 \leq RC_i,BC_i \leq 10
  • i=1NRCi=i=1NBCi\sum_{i=1}^{N} RC_i = \sum_{i=1}^{N} BC_i
  • 入力される値はすべて整数である。

入力

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

NN

RX1RX_1 RY1RY_1 RC1RC_1

RX2RX_2 RY2RY_2 RC2RC_2

\vdots

RXNRX_N RYNRY_N RCNRC_N

BX1BX_1 BY1BY_1 BC1BC_1

BX2BX_2 BY2BY_2 BC2BC_2

\vdots

BXNBX_N BYNBY_N BCNBC_N

出力

ペアのスコアの総和の最大値を出力せよ。

2
0 0 1
3 2 1
2 2 1
5 0 1
8

座標 (0,0)(0,0) に置いてある赤いボールと座標 (2,2)(2,2) に置いてある青いボールをペアにすると、 そのスコアは 02+02=4|0-2| + |0-2|=4 です。 また、座標 (3,2)(3,2) に置いてある赤いボールと座標 (5,0)(5,0) に置いてある青いボールをペアにすると、 そのスコアは 35+20=4|3-5| + |2-0|=4 です。 この 22 つのペアを作ると、スコアの総和は 88 になり、これが最大です。

3
0 0 1
2 2 1
0 0 2
1 1 1
1 1 1
3 3 2
16

同じ座標に複数回操作を行うこともあります。

10
582463373 690528069 8
621230322 318051944 4
356524296 974059503 6
372751381 111542460 9
392867214 581476334 6
606955458 513028121 5
882201596 791660614 9
250465517 91918758 3
618624774 406956634 6
426294747 736401096 5
974896051 888765942 5
726682138 336960821 3
715144179 82444709 6
599055841 501257806 6
390484433 962747856 4
912334580 219343832 8
570458984 648862300 6
638017635 572157978 10
435958984 585073520 7
445612658 234265014 6
45152033546