输入描述:
- 5
- 3 1 5 7 9
- 8
- 第一行数组代表总人数,范围[1,500000]
- 第二行数组代表每个人的能力,每个元素的取值范围[1, 500000],数组的大小范围[1,500000]
- 第三行数值为团队要求的最低能力值,范围[1, 500000]
输出描述:
1 | 3 |
最多可以派出的团队数量
示例1
输入
1 2 3 | 5 3 1 5 7 9 8 |
输出
1 | 3 |
说明
3,5组成一队,1,7组成一队,9自己一个队,故输出3
示例2
输入
1 2 3 | 7 3 1 5 7 9 2 6 8 |
输出
1 | 4 |
说明
1、7组成一队 3、5一队 2、6一队 9自己一队 输出4
all_nums = int(input())
ability_list = sorted(input().strip().split(" "))
min_ability = int(input())
team_list = []
for i in ability_list:
if int(i) > min_ability:
team_list.append(i)
ability_list.remove(i)
for ability in ability_list:
index = ability_list.index(ability)
next_index = index + 1
while next_index < len(ability_list):
if int(ability) + int(ability_list[next_index]) >= min_ability:
team_list.append([ability, ability_list[next_index]])
ability_list.remove(ability_list[next_index])
else:
next_index += 1
print(len(team_list))
个人解法,如有错误,欢迎指正,Thanks♪(・ω・)ノ