酷代码 AI
菜单
服务商

根据同学成绩和排序规则计算最少奖励铅笔数的 Python 实现

以下是使用 Python 实现的代码: ```python # 获取输入的同学数量 n = int(input()) # 获取输入的同学成绩,并将其转换为整数列表 scores = list(map(int, input().split(','))) # 初始化每个同学的铅笔数为 1 pencils = [1] * n # 从左到右遍历,保证成绩高的同学比左边成绩低的同学铅笔数多 for i in range(1, n): if scores[i] > scores[i - 1]: pencils[i] = pencils[i - 1] + 1 # 从右到左遍历,保证成绩高的同学比右边成绩低的同学铅笔数多 for i in range(n - 2, -1, -1): if scores[i] > scores[i + 1]: # 如果当前同学已经根据从左到右的规则分配了更多铅笔,保持不变 pencils[i] = max(pencils[i], pencils[i + 1] + 1) # 计算最少需要的铅笔总数 total_pencils = sum(pencils) # 输出结果 print(total_pencils) ``` ######[AI问答 | 286点数解答 | 2026-02-28 12:33:09]

相关提问
发财导航,免费问AI
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]