#P1477. 2024.9.19-秋招(留学生)-第2题-服务器健康巡检

2024.9.19-秋招(留学生)-第2题-服务器健康巡检

题目内容

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

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

约束说明:

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

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

输入描述

入参分为两行输入:

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

输出描述

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

样例1

输入

3
5 5 5

输出

1 

说明

image-26

采用行检查,因为多行可以一起检查,所以11次行扫描就检查完了,耗时1s1s

样例2

输入

5
2 2 1 2 1

输出

4

说明

image-27

第一次采用行检查,覆盖11~55列的第1行服务器,耗时1s1s,第二次采用行检查,覆盖11~22列的第22行服务器,耗时1s1s,第三次采用列检查,覆盖第44列第22行的服务器,耗时2s2s,总计耗时4s4s

样例3

输入

5
7 4 3 3 5

输出

6

说明

image-28

第一次采用行检查,覆盖11~55列的11~33行服务器,耗时1s1s,第二次采用行检查,覆盖11~22列的第44行服务器,耗时1s1s,第三次采用列检查,覆盖第11列的55~77行的服务器,耗时2s2s,第四次采用列检查,覆盖第55列的44~55行的服务器,耗时2s2s,总计耗时6s6s