#NK202508I. 比赛

比赛

题目描述

校集训队有 mm 位候选队员,现在需要选出 2n2n 位队员两两配对组合,参加 nn 场网球双打比赛。 第 ii 名队员有一个预估能力值 eie_i,并按照参训时长分为初级和高级两类。 第 ii 场比赛要求参赛选手的能力值均不超过 lil_i,且出于稳定性考虑,教练要求每组配对的两名队员能力值相差不超过 dd

虽然没有限制球员必须基于相同类别进行配对,但是为了充分挖掘初级队员的潜力,教练们希望选出一定初级队员参赛。

教练想知道,对于 t=0,1,,2nt = 0,1,\dots,2n,是否存在恰好选出 tt 名初级队员又满足上述约束的配对方案。如果不存在这样的方案,输出 1-1,否则输出所选 2n2n 名球员的能力值的最大可能总和

输入格式

第一行包含一个整数 TT1T1051 \le T \le 10^5),表示测试用例的数量。接下来是 TT 个测试用例。对于每个测试用例:

  • 第一行包含三个整数 n,mn, mdd($1 \le n \le 20,\; 2n \le m \le 10^5,\; 0 \le d < 10^9$)。
  • 第二行包含 nn 个整数 l1,l2,,lnl_1, l_2, \dots, l_n1li1091 \le l_i \le 10^9),表示第 ii 场比赛允许参赛选手的能力上限。
  • 接下来 mm 行描述候选队员信息,第 ii 行包含两个整数 eie_itit_i1ei109,  ti{1,2}1 \le e_i \le 10^9,\; t_i \in \{1,2\}),表示第 ii 名队员的预估能力值为 eie_i,若 ti=1t_i=1 则为初级类型,否则为高级类型。

保证所有测试用例中 mm 之和不超过 2×1052\times10^5

输出格式

对于每个测试用例,在一行中输出 2n+12n+1 个整数,第 ii 个整数表示恰好选出 i1i-1 名初级队员时的答案(即最大可能的总能力值),如果不存在满足约束的配对方案则输出 1-1

输入输出样例 #1

输入 #1

2
4 9 400
800 900 1050 1200
46 1
264 2
295 1
305 1
332 2
678 1
770 2
903 2
1291 2
4 9 400
800 900 1050 1200
46 1
264 2
295 1
305 2
332 2
678 2
770 2
903 2
1291 1

输出 #1

-1 -1 -1 -1 3593 -1 -1 -1 -1
-1 -1 3593 -1 -1 -1 -1 -1 -1