清华大学绿色大学建设网站,微官网建设公司排行,做电影网站什么系统好,随州网站建设有限公司文章目录 最多团队 最多团队
用数组代表每个人的能力#xff0c;一个比赛活动要求参赛团队的最低能力值为k#xff0c;每个团队可以由1人或者2人组成#xff0c;且一个人只能参加1个团队#xff1b;计算出最多可以派出多少支符合要求的团队#xff1b;
输入描述: 第一行… 文章目录 最多团队 最多团队
用数组代表每个人的能力一个比赛活动要求参赛团队的最低能力值为k每个团队可以由1人或者2人组成且一个人只能参加1个团队计算出最多可以派出多少支符合要求的团队
输入描述: 第一行输入总人数 第二行输入每个人的能力 第三行输入团队要求的最低能力值k 输出描述 最多可以派出的团队数量
示例1 输入 5 3 1 5 7 9 8 输出: 3
示例2 输入 7 3 1 5 7 9 2 6 8 输出 4
示例3 输入 3 1 1 9 8 输出 1
python实现:
能力值升序排序一人能力满足则一人成队否则再加入一个最低能力的人总和满足k n int(input().strip())
cable_arr list(map(int, input().strip().split()))
k int(input().strip())cable_arr.sort()
visited [0 for _ in range(n)]result 0
for i in reversed(range(n)):# 跳过已访问的if visited[i] 1:continueif cable_arr[i] k:result 1visited[i] 1else:# 两人队left k - cable_arr[i]j 0while j n:if visited[j] 1:j 1continueif cable_arr[j] left:visited[j] 1result 1breakj 1print(result)