AT_joi2021ho_a.とてもたのしい家庭菜園 (Growing Vegetables is Fun 4)
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
家庭菜园爱好者比太郎在自家院子里种植了一种叫做“比巴草”的植物。院子里共有 N 株比巴草,沿东西方向排成一行,从西侧开始依次编号为 1 到 N。当前,第 i 株比巴草(1≤i≤N)的高度为 Ai。
由于经过特殊品种改良,每次浇水后,比巴草的高度会增加 1。比太郎为了让院子的观赏性更好,打算多次浇水,使得最终满足以下条件:
- 经过所有浇水后,第 i 株比巴草的高度为 Bi。此时,存在一个整数 k(1≤k≤N),使得“对于 1≤j≤k−1,有 Bj<Bj+1”且“对于 k≤j≤N−1,有 Bj>Bj+1”。
也就是说,最终高度序列 B 存在一个峰值点 k,使得从左到 k 单调递增,从 k 到右端单调递减。
但比太郎手笨,每次只能选择一个区间 L,R(1≤L≤R≤N),同时给区间内的所有比巴草浇水一次。
比太郎希望浇水的次数尽可能少。
给定比巴草的数量和当前高度,请编写程序,求满足条件所需的最小浇水次数。
输入格式
输入为一行,包含 N 和 A1,A2,…,AN,均为整数。
输出格式
输出满足条件所需的最小浇水次数。
输入输出样例
输入#1
5 3 2 2 3 1
输出#1
3
输入#2
5 9 7 5 3 1
输出#2
0
输入#3
2 2021 2021
输出#3
1
输入#4
8 12 2 34 85 4 91 29 85
输出#4
93
说明/提示
限制
- 2≤N≤200000。
- 1≤Ai≤1000000000(1≤i≤N)。
子任务
1.(40 分)N≤2000。
2.(60 分)无额外限制。
样例解释 1
可以按如下方式浇水 3 次满足条件:
- 第一次选择 L=2,R=5,给第 2,3,4,5 株浇水。高度变为 3,3,3,4,2。
- 第二次选择 L=2,R=3,给第 2,3 株浇水。高度变为 3,4,4,4,2。
- 第三次选择 L=3,R=3,给第 3 株浇水。高度变为 3,4,5,4,2。
无法在 2 次或更少的浇水内满足条件,因此最小次数为 3。
样例解释 2
初始状态已经满足条件,因此最小次数为 0。
样例解释 3
只需一次浇水即可满足条件,可以选择 L=1,R=1 给第 1 株浇水,或 L=2,R=2 给第 2 株浇水。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?