华为OD机考双机位C卷 - 编程能力提升计划 (Java Python JS C/C++ GO )
2026/6/8 7:39:05 网站建设 项目流程

最新华为上机考试

真题目录:点击查看目录
华为OD面试真题精选:点击立即查看
华为OD机考双机位C卷

题目描述

为了提升软件编码能力,小王制定了刷题计划,他选了题库中的n道题,编号从0到n-1,并计划在m天内按照题目编号顺序刷完所有的题目(注意,小王不能用多天完成同一题)。

在小王刷题计划中,小王需要用tme[i]的时间完成编号 i 的题目。

此外,小王还可以查看答案,可以省去该题的做题时间。为了真正达到刷题效果,小王每天最多直接看一次答案。

我们定义m天中做题时间最多的一天耗时为T(直接看答案的题目不计入做题总时间)。

请你帮小王求出最小的T是多少。

输入描述

第一行输入为time,time[i]的时间完成编号 i 的题目

第二行输入为m,m表示几天内完成所有题目,1 ≤ m ≤ 180

输出描述

最小耗时整数T

示例1

输入

999,999,999 4

输出

0

说明

在前三天中,小王每天都直接看答案,这样他可以在三天内完成所有的题目并不花任何时间

示例2

输入

1,2,2,3,5,4,6,7,8 5

输出

4

说明

第一天完成前3题,第3题看答案;
第二天完成第4题和第5题,第5题看答案;
第三天完成第6和第7题,第7提看答案;
第四天完成第8题,直接看答案:
第五天完成第9题,直接看答案

解题思路

解释

在示例2中,输入如下:

1,2,2,3,5,4,6,7,8 5

这意味着小王有9道题目,每道题目的完成时间分别是1, 2, 2, 3, 5, 4, 6, 7, 8,且他需要在5天内完成这些题目。目标是使得这5天中最繁忙的一天(耗时最长的一天)的耗时T尽可能小。

解释如何安排:
  1. 第一天

    • 完成题目0 (1分钟), 题目1 (2分钟) 和题目2 (2分钟)。
    • 可选择题目2作为查看**的题目,因为它不是最耗时的。
    • 实际耗时:1 + 2 = 3分钟
  2. 第二天

    • 完成题目3 (3分钟) 和题目4 (5分钟)。
    • 可选择题目4作为查看**的题目,因为它是这两题中较耗时的。
    • 实际耗时:3分钟
  3. 第三天

    • 完成题目5 (4分钟) 和题目6 (6分钟)。
    • 可选择题目6作为查看**的题目,因为它是这两题中较耗时的。
    • 实际耗时:4分钟

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询