148. 24年9月-华为留学生-2.服务器健康巡检

难度 5
  • 标签:
  • 大厂笔试真题华为
题目描述
题解
题库

24年9月-华为留学生-2.服务器健康巡检

题目内容

在一个未来的超级数据中心,有一排存放服务器的阵列,阵列由一列一列的机架组成,机架的每一行可以存放一个服务器,每列架子的服务器都是自底向上依次摆放,摆放的个数是随机且大于0的。现在有一个运维机器人用来检查服务器健康状态,机器人有行列2种检查模式:

  1. 行检查支持多行服务器一起检查,检查时间为1秒。
  2. 列检查仅支持单列服务器检查,检查时间为2秒。

约束说明:

  • 允许在同一个服务器检查多次,但同一次行、列检查模式的服务器必须为连续的一段。
  • 单独的一个服务器检查,默认采用列检查方式,检查时间为2秒。
  • 行、列检查时间跟检查列的服务器数量无关,仅与检查模式相关。

请问机器人最少要花费多少时间才能检查完整个数据中心的服务器。

输入描述

入参分为两行输入:

  • 第一行为机架的数量n。
  • 第二行n个整数rack1,..,rackn空格隔开表示每个机架摆放服务器的数量。

输出描述

检查完所有服务器最少需要的花费时间。

样例1

输入

3
5 5 5

输出

1

说明

image-20250805104505092采用行检查,因为多行可以一起检查,所以1次行扫描就检查完了,耗时1秒。

样例2

输入

5
2 2 1 2 1

输出

4

说明

image-20250805104527680第一次采用行检查,覆盖1~5列的第1行服务器,耗时1秒;第二次采用行检查,覆盖1~2列的第2行服务器,耗时1秒;第三次采用列检查,覆盖第4列第2行的服务器,耗时2秒;总计耗时4秒。

样例3

输入

5
7 4 3 3 5

输出

6

说明

image-20250805104555506第一次采用行检查,覆盖1~5列的1~3行服务器,耗时1秒;第二次采用行检查,覆盖1~2列的第4行服务器,耗时1秒;第三次采用列检查,覆盖第1列的5~7行的服务器,耗时2秒;第四次采用列检查,覆盖第5列的4~5行的服务器,耗时2秒;总计耗时6秒。