n = int(input)ids = list(map(int, input.split(',')))scores = list(map(int, input.split(',')))# 收集每个选手的成绩player_scores = {}for i in range(n):player_id = ids[i]score = scores[i]if player_id not in player_scores:player_scores[player_id] = player_scores[player_id].append(score)# 筛选有效选手并计算最高3个成绩之和valid_players = for player_id in player_scores:scores_list = player_scores[player_id]if len(scores_list) >= 3:# 取最高的3个成绩top3 = sorted(scores_list, reverse=True)[:3]total = sum(top3)valid_players.append((player_id, total))# 排序:先按total降序,再按player_id降序valid_players.sort(key=lambda x: (-x[1], -x[0]))# 提取选手IDresult = [str(player[0]) for player in valid_players]print(','.join(result))数据收集:首先,我们需要将每个选手的成绩收集起来。可以使用字典来存储,其中键是选手ID,值是该选手的所有成绩列表。筛选有效选手:遍历字典,筛选出成绩数量大于等于3的选手,因为少于3个成绩的选手将被忽略。计算最高3个成绩之和:对于每个有效选手,将其成绩列表排序,取最高的3个成绩并求和。排序:根据最高3个成绩之和进行降序排序。如果和相同,则按选手ID降序排序。输出结果:提取排序后的选手ID序列并输出。摘要:n = int(input)ids = list(map(int, input.split(',')))scores = list(map(int, input.split(',')))# 收集每个选手的成绩player_scores = {}for i in
来源:米卡体育