#OD072. 最佳对手
最佳对手
题目解析和算法源码
华为OD机试 - 最佳对手(Java & JS & Python & C & C++)_伏城之外的博客-CSDN博客
题目描述
游戏里面,队伍通过匹配实力相近的对手进行对战。但是如果匹配的队伍实力相差太大,对于双方游戏体验都不会太好。
给定n个队伍的实力值,对其进行两两实力匹配,两支队伍实例差距在允许的最大差距d内,则可以匹配。
要求在匹配队伍最多的情况下匹配出的各组实力差距的总和最小。
输入描述
第一行,n,d。队伍个数n。允许的最大实力差距d。
- 2<=n <=50
- 0<=d<=100
第二行,n个队伍的实力值空格分割。
- 0<=各队伍实力值<=100
输出描述
匹配后,各组对战的实力差值的总和。若没有队伍可以匹配,则输出-1。
用例1
输入
6 30
81 87 47 59 81 18
输出
57
说明
18与47配对,实力差距29
59与81配对,实力差距22
81与87配对,实力差距6
总实力差距29+22+6=57
用例2
输入
6 20
81 87 47 59 81 18
输出
12
说明
最多能匹配成功4支队伍。
47与59配对,实力差距12,
81与81配对,实力差距0。
总实力差距12+0=12
用例3
输入
4 10
40 51 62 73
输出
-1
说明
实力差距都在10以上,
没有队伍可以匹配成功。