关注
今天小马的第三题: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
相关推荐
06-25 17:47
哈尔滨工业大学 光传输工程师 
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习,不懂就问 #
5225次浏览 76人参与
# 小米提前批笔试难吗 #
34181次浏览 358人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
14787次浏览 146人参与
# 26届校招投递进展 #
32535次浏览 248人参与
# 央国企投递记录 #
88296次浏览 1362人参与
# 为了找工作你花了哪些钱? #
28611次浏览 275人参与
# 神州信息工作体验 #
11699次浏览 57人参与
# 校招第一份工作你干了多久? #
86312次浏览 399人参与
# 来聊聊你目前的求职进展 #
634451次浏览 6747人参与
# 考公还是考研,你怎么选? #
27838次浏览 140人参与
# 小米硬件提前批进度交流 #
168233次浏览 1523人参与
# 外包能不能当跳板? #
34587次浏览 221人参与
# 你觉得专业和学校哪个对薪资影响最大 #
61443次浏览 491人参与
# 设计人的面试记录 #
123624次浏览 1341人参与
# 打工人的精神状态 #
50023次浏览 867人参与
# 硬件人你反向读研了吗 #
42580次浏览 637人参与
# 如果中了500万,你会离职吗? #
84591次浏览 654人参与
# 你今年的保底offer是哪家 #
118567次浏览 538人参与
# 大疆的机械笔试比去年难吗 #
72988次浏览 619人参与
# 怎么评价今年的华为 #
129141次浏览 568人参与
# 硬件人秋招的第一个offer #
78040次浏览 1149人参与