C. 城市天际线

    传统题 文件IO:city 1000ms 256MiB

城市天际线

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

一条街道上从左到右依次有 nn 栋楼房,第 ii 栋楼房有 hih_i 层。如果第 ii 栋楼房比它左右相邻的两栋都高, 就称第 ii 栋楼房是酷的(第 11 栋与第 nn 栋楼房不可能酷)。

33DAI 想给楼房加盖楼层,让尽可能多的楼房变酷。加盖只能增加层数,不能拆掉已有的楼层。 加盖楼层很花钱,所以他希望花最少的钱达到这个目的:先在可以让尽可能多的楼房变酷的前提下, 再让加盖的总层数尽可能少。

输入格式

从文件 city.in 读入数据。

输入的第一行包含一个整数 tt,表示测试数据组数。

接下来依次给出 tt 组数据,每组数据的格式为:

第一行包含一个整数 nn,表示楼房数量。

第二行包含 nn 个整数 h1,h2,…,hnh_1, h_2, \dots, h_n,其中 hih_i 表示第 ii 栋楼房的层数。

输出格式

输出到文件 city.out。

对于每组数据,输出一行一个整数,表示让酷的楼房尽可能多时最少需要加盖的层数。

6
3
2 1 2
5
1 2 1 4 3
6
3 1 4 5 5 2
8
4 2 1 3 5 3 6 1
6
1 10 1 1 10 1
8
1 10 11 1 10 11 10 1
2
0
3
3
0
4

样例 1 解释

下面是一种最终的状态方案

2 3 2
1 2 1 4 3
3 1 6 5 6 2
4 2 4 3 5 3 6 1
1 10 1 1 10 1
1 10 11 1 12 11 12 1

样例 2

见 city2.in 与 city2.ans。

样例 3

见 city3.in 与 city3.ans。

数据范围

对于所有测试数据,保证:

  • 1≤t≤1041 \le t \le 10^4;
  • 3≤n≤1053 \le n \le 10^5;
  • 1≤hi≤1091 \le h_i \le 10^9;
  • 单个测试文件中所有测试用例的 nn 之和不超过 2×1052 \times 10^5。

子任务

本题共 20 个测试点,按测试点计分:

测试点 分值 每个测试点 特殊限制
1∼61 \sim 6 3030 55 n≤8n \le 8,t≤20t \le 20
7∼127 \sim 12 nn 为奇数,t≤50t \le 50
13∼2013 \sim 20 4040 无额外限制

每个测试点单独评分,全部测试点的得分之和即为本题得分。

【评测】三三信奥国庆模拟赛 CSP-J 第三场

未参加
状态
已结束
规则
OI
题目
4
开始于
2026-10-3 8:30
结束于
2026-10-6 8:30
持续时间
3.5 小时
主持人
参赛人数
19