#ATagc034d. [AGC034D] Manhattan Max Matching

[AGC034D] Manhattan Max Matching

题目描述

すぬけくん在二维平面上摆放了红球和蓝球进行游戏。

首先,すぬけくん进行了 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 对。每个球恰好属于一个配对。对于坐标 (rx,ry)(rx, ry) 的红球和坐标 (bx,by)(bx, by) 的蓝球组成的配对,其得分定义为 rxbx+ryby|rx-bx| + |ry-by|

すぬけくん希望最大化所有配对得分的总和。请帮助すぬけくん求出配对得分总和的最大值。

输入格式

输入以如下格式从标准输入读入。

NN RX1RX_1 RY1RY_1 RC1RC_1 RX2RX_2 RY2RY_2 RC2RC_2 \cdots RXNRX_N RYNRY_N RCNRC_N BX1BX_1 BY1BY_1 BC1BC_1 BX2BX_2 BY2BY_2 BC2BC_2 \cdots BXNBX_N BYNBY_N BCNBC_N

输出格式

输出配对得分总和的最大值。

样例 1

输入

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

输出

8

样例 2

输入

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

输出

16

样例 3

输入

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

说明/提示

限制条件

  • 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
  • 所有输入值均为整数。

样例解释 1

将坐标 (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。这两组配对的得分总和为 88,且这是最大值。

样例解释 2

可以在同一坐标多次进行操作。

由 ChatGPT 4.1 翻译