关注
今天小马的第三题: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
相关推荐
查看13道真题和解析 点赞 评论 收藏
分享
点赞 评论 收藏
分享
05-22 19:55
哈尔滨工业大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 27届实习投递记录 #
143691次浏览 1524人参与
# 薪资一样,你会选择去大厂还是小公司 #
34415次浏览 127人参与
# 26届春招投递记录 #
48853次浏览 398人参与
# 求职中的尴尬瞬间 #
41619次浏览 124人参与
# 哪个瞬间让你对大厂祛魅了? #
644858次浏览 4007人参与
# 2022届毕业生现状 #
1174053次浏览 7802人参与
# 华子oc时间线 #
1515635次浏览 7126人参与
# 机械人还在等华为开奖吗? #
344083次浏览 1658人参与
# 听劝,这个简历怎么改 #
422467次浏览 1901人参与
# 美团求职进展汇总 #
3227683次浏览 25264人参与
# 新凯来求职进展汇总 #
82303次浏览 194人参与
# 暑假倒计时,你都干了些啥? #
61853次浏览 318人参与
# 职场中那些令人叹为观止的八卦 #
112075次浏览 497人参与
# 秋招吐槽大会 #
339450次浏览 1611人参与
# 绿盟笔试 #
6618次浏览 56人参与
# 24届秋招同行攻略分享 #
1530692次浏览 14465人参与
# 我在大厂见过的最低学历 #
13723次浏览 101人参与
# 通信硬件知识分享 #
52883次浏览 552人参与
# 如何成为1个AI工程师? #
9858次浏览 410人参与
# 我想去国央企的原因 #
82092次浏览 424人参与
