关注
今天小马的第三题: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
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 赚钱的意义在这一刻具象化 #
2966次浏览 71人参与
# 哪些瞬间让你真切感受到了工作的乐趣 #
23129次浏览 98人参与
# 今年春招是金一银二嘛? #
4197次浏览 52人参与
# AI求职实录 #
2115次浏览 60人参与
# 1月小结:你过的开心吗? #
1027次浏览 32人参与
# 你的第一家实习公司是什么档次? #
2823次浏览 51人参与
# 抛开难度不谈,你最想去哪家公司? #
2268次浏览 64人参与
# 为什么有人零实习也能进大厂? #
3191次浏览 70人参与
# AI时代的工作 VS 传统时代的工作,有哪些不同? #
6357次浏览 145人参与
# 你的landing期是如何度过的? #
6017次浏览 101人参与
# 工作后会跟朋友渐行渐远吗 #
57714次浏览 411人参与
# 除了Java,最推荐学什么技术? #
4302次浏览 115人参与
# 当你问AI“你会取代我的工作吗”,它说_? #
2392次浏览 80人参与
# 汇川技术求职进展汇总 #
177669次浏览 1055人参与
# 我是XXX,请攻击我最薄弱的地方 #
55695次浏览 388人参与
# 选offer应该考虑哪些因素 #
139860次浏览 983人参与
# 你觉得什么岗位会被AI替代 #
36242次浏览 249人参与
# 如果工作一直消耗情绪还要继续做吗 #
18527次浏览 88人参与
# 你上一次加班是什么时候? #
128902次浏览 737人参与
# 非技术岗简历怎么写 #
284137次浏览 3185人参与