#bBDPlydlt50x5203. 陪审团 Jury Compromise

陪审团 Jury Compromise

题目描述

在一个遥远的国家,一名嫌疑犯是否有罪需要由陪审团来决定。

陪审团是由法官从公民中挑选的。

法官先随机挑选 NN 个人(编号 1,2,,N1,2,\dots,N)作为陪审团的候选人,然后再从这 NN 个人中按照下列方法选出 MM 人组成陪审团。

首先,参与诉讼的控方和辩方会给所有候选人打分,分值在 002020 之间。

ii 个人的得分分别记为 p[i]p[i](控方得分)和 d[i]d[i](辩方得分)。

为了公平起见,法官选出的 MM 个人必须满足:辩方总分 DD 和控方总分 PP 的差的绝对值 DP|D-P| 最小。

如果选择方法不唯一,那么再从中选择辨控双方总分之和 D+PD+P 最大的方案。

求最终的陪审团获得的辩方总分 DD、控方总分 PP,以及陪审团人选的编号。

注意:若陪审团的人选方案不唯一,则任意输出一组合法方案即可。

输入格式

输入包含多组测试数据。

每组测试数据第一行包含两个整数 NNMM

接下来 NN 行,每行包含两个整数 p[i]p[i]d[i]d[i]

每组测试数据之间隔一个空行。

当输入数据 N=0N=0M=0M=0 时,表示结束输入,该数据无需处理。

输出格式

对于每组数据,第一行输出 Jury #CCC 为数据编号,从 11 开始。

第二行输出 Best jury has value P for prosecution and value D for defence:PP 为控方总分,DD 为辩方总分。

第三行输出按升序排列的陪审人选编号,每个编号前输出一个空格。

每组数据输出完后,输出一个空行。

样例

输入样例:

4 2
1 2
2 3
4 1
6 2
0 0

输出样例:

Jury #1
Best jury has value 6 for prosecution and value 4 for defence:
 2 3

样例解释

N=4,M=2N=4, M=2

候选人:

  1. p=1,d=2p=1, d=2
  2. p=2,d=3p=2, d=3
  3. p=4,d=1p=4, d=1
  4. p=6,d=2p=6, d=2

需要选 22 人,使 DP|D-P| 最小,若相同则 D+PD+P 最大。

枚举:

  • 选人 1,2:P=1+2=3,D=2+3=5,DP=2,D+P=8P=1+2=3, D=2+3=5, |D-P|=2, D+P=8
  • 选人 1,3:P=1+4=5,D=2+1=3,DP=2,D+P=8P=1+4=5, D=2+1=3, |D-P|=2, D+P=8
  • 选人 1,4:P=1+6=7,D=2+2=4,DP=3,D+P=11P=1+6=7, D=2+2=4, |D-P|=3, D+P=11
  • 选人 2,3:P=2+4=6,D=3+1=4,DP=2,D+P=10P=2+4=6, D=3+1=4, |D-P|=2, D+P=10
  • 选人 2,4:P=2+6=8,D=3+2=5,DP=3,D+P=13P=2+6=8, D=3+2=5, |D-P|=3, D+P=13
  • 选人 3,4:P=4+6=10,D=1+2=3,DP=7,D+P=13P=4+6=10, D=1+2=3, |D-P|=7, D+P=13

最小差绝对值为 22,对应候选有 (1,2)、(1,3)、(2,3)。其中 D+PD+P 最大的是 (2,3) 的 1010

所以输出控方总分 66,辩方总分 44,人选编号 2233

数据范围

  • 1N2001 \le N \le 200
  • 1M201 \le M \le 20
  • 0p[i],d[i]200 \le p[i], d[i] \le 20

时空限制

  • 时间限制:2 秒
  • 空间限制:64 MB

所有题目整理完毕。