AT_joi2019_yo_d.日本沈没 (Japan Sinks)

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

日本列岛是一条细长的列岛。日本列岛被平行的边界线分成了 NN 个区块。每个区块从一端开始依次编号为 11 到 NN。第 ii 个区块(1≤i≤N1 \leq i \leq N)的高度为 AiA_i。

日本列岛被海洋包围,海平面高度在所有地方都是一样的。高度高于海平面的区块被称为陆地。

陆地连续的部分被称为岛屿。更准确地说,定义如下:对于整数 ll、rr(1≤l≤r≤N1 \leq l \leq r \leq N),由区块 ll、l+1l+1、...、rr 组成的部分称为区间 [l,rl, r]。满足以下条件的区间 [l,rl, r] 被称为岛屿:

  • 区块 ll、l+1l+1、...、rr 都是陆地。
  • 如果 l>1l > 1,则区块 l−1l-1 不是陆地。
  • 如果 r<Nr < N,则区块 r+1r+1 不是陆地。

由于海平面上升,日本列岛正在逐渐下沉。当前海平面高度为 00,但随着时间推移会逐渐升高,最终整个日本都会被海水淹没。

JOI 君注意到,随着海平面高度的上升,日本的岛屿数量会发生变化。请你求出,从现在到日本没有任何陆地为止(包括现在),岛屿数量的最大值。

输入格式

输入以以下格式从标准输入读入。

NN A1A_1 A2A_2 ...... ANA_N

输出格式

请输出从现在到日本没有任何陆地为止(包括现在)期间,岛屿数量的最大值。

输入输出样例

  • 输入#1

    6
    0 1 2 1 3 2

    输出#1

    2
  • 输入#2

    6
    3 2 3 0 2 0

    输出#2

    2
  • 输入#3

    10
    4 1 2 1 2 3 5 4 3 2

    输出#3

    3

说明/提示

限制条件

  • 1≤N≤100000 (=105)1 \leq N \leq 100000\ (= 10^5)
  • 0≤Ai≤1000000000 (=109)0 \leq A_i \leq 1000000000\ (= 10^9)(1≤i≤N1 \leq i \leq N)

子任务

1.(7 分)N≤2000N \leq 2000,Ai≤2000A_i \leq 2000(1≤i≤N1 \leq i \leq N)
2.(8 分)N≤2000N \leq 2000
3.(85 分)无额外限制。

样例解释 1

  • 当海平面高度在 00 以上 11 未满时,区块 2,3,4,5,62, 3, 4, 5, 6 是陆地。区间 [2,62, 6] 是唯一的岛屿,因此岛屿数量为 11。
  • 当海平面高度在 11 以上 22 未满时,区块 3,5,63, 5, 6 是陆地。区间 [3,33, 3] 和区间 [5,65, 6] 是岛屿,因此岛屿数量为 22。
  • 当海平面高度在 22 以上 33 未满时,只有区块 55 是陆地。区间 [5,55, 5] 是唯一的岛屿,因此岛屿数量为 11。
  • 当海平面高度达到 33 时,所有陆地都消失,岛屿数量为 00。

因此岛屿数量的最大值为 22,输出 22。

样例解释 2

  • 当海平面高度在 00 以上 22 未满时,区块 1,2,3,51, 2, 3, 5 是陆地。区间 [1,31, 3] 和区间 [5,55, 5] 是岛屿,因此岛屿数量为 22。
  • 当海平面高度在 22 以上 33 未满时,区块 1,31, 3 是陆地。区间 [1,11, 1] 和区间 [3,33, 3] 是岛屿,因此岛屿数量为 22。
  • 当海平面高度达到 33 时,所有陆地都消失,岛屿数量为 00。

因此岛屿数量的最大值为 22,输出 22。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页