关注
今天小马的第三题:dp 以及 deque 都可以做;我贴一下今天dp的垃圾code吧 if __name__ == '__main__':
s1 = input().split(' ')
N, K = int(s1[0]), int(s1[1])
s2 = input().split(' ')
As = [int(s) for s in s2]
dp_sum = [0] * N
dp_max = [0] * N
dp_min = [0] * N
dp_sum[K-1] = sum(As[:K])
dp_min[K-1] = min(As[:K])
dp_max[K-1] = max(As[:K])
ans = (dp_sum[K-1] - dp_min[K-1] - dp_max[K-1]) / (K-2)
for i in range(K, N):
dp_sum[i] = dp_sum[i-1] - As[i-K] + As[i]
if As[i] >= dp_max[i-1]:
dp_max[i] = As[i]
else:
if As[i] >= As[i-K]:
dp_max[i] = dp_max[i-1]
else:
if As[i-K] < dp_max[i-1]:
dp_max[i] = dp_max[i-1]
else:
dp_max[i] = max(As[i-K+1: i+1])
if As[i] <= dp_min[i-1]:
dp_min[i] = As[i]
else:
if As[i] <= As[i-K]:
dp_min[i] = dp_min[i-1]
else:
if As[i-K] > dp_min[i-1]:
dp_min[i] = dp_min[i-1]
else:
dp_min[i] = min(As[i-K+1: i+1])
v = (dp_sum[i] - dp_min[i] - dp_max[i]) / (K-2)
ans = max(ans, v)
print(ans)
查看原帖
点赞 6
相关推荐
![](https://static.nowcoder.com/fe/file/oss/1716965564844UEBJN.png)
![](https://static.nowcoder.com/fe/file/oss/1716965585666UBBME.png)
TP-LINK
| 校招
| 超多精选岗位
点赞 评论 收藏
分享
![](https://static.nowcoder.com/fe/file/oss/1715049343797JOCFB.png)
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 读研or工作,哪个性价比更高? #
24600次浏览 332人参与
# 如果重来一次你还会读研吗 #
154678次浏览 1701人参与
# 科大讯飞求职进展汇总 #
258952次浏览 2595人参与
# 秋招感动瞬间 #
10992次浏览 102人参与
# 阿里巴巴创始人马云回国 #
14262次浏览 87人参与
# 职场新人生存指南 #
195843次浏览 5398人参与
# 你最满意的offer薪资是哪家公司? #
11962次浏览 109人参与
# 长光卫星求职进展汇总 #
27603次浏览 184人参与
# 文科生还参加今年的春招吗 #
3419次浏览 29人参与
# 追觅科技求职进展汇总 #
8541次浏览 58人参与
# 选择和努力,哪个更重要? #
42326次浏览 472人参与
# 招聘要求与实际实习内容不符怎么办 #
41569次浏览 469人参与
# 打工人的工作餐日常 #
24735次浏览 221人参与
# 机械制造岗投递时间线 #
19328次浏览 324人参与
# 小红书求职进展汇总 #
40461次浏览 346人参与
# 影石Insta360求职进展汇总 #
107714次浏览 969人参与
# 如果再来一次,你还会学硬件吗 #
102844次浏览 1236人参与
# 机械人选offer,最看重什么? #
68621次浏览 433人参与
# 机械人怎么评价今年的华为 #
180361次浏览 1485人参与
# 滴!实习打卡 #
554898次浏览 6009人参与