#HK5220. 「UOI 2023 Stage 4 Day1」数组与区间加法

「UOI 2023 Stage 4 Day1」数组与区间加法

题目描述

题目译自 Ukrainian Olympiads in Informatics 2023 Stage 4 Day1 T3. Масив і додавання на відрізку

给定一个长度为 nn 的整数数组 aa

你可以通过加法操作来修改数组。为了执行一次加法操作,需要按照以下三个步骤进行:

  1. 选择一个任意整数 xx
  2. 选择数组的一个任意子区间 [l,r][l, r]
  3. 将选定子区间内的每个元素加上 xx(即对 lirl \le i \le r 执行操作 ai(ai+x)a_i \leftarrow (a_i + x))。

找出使数组 aa 的所有元素两两不同所需的最小加法操作次数。

输入格式

输入的第一行包含一个整数 nn (1n2105)(1 \le n \le 2 \cdot 10^5),表示数组的长度。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n (1ai109)(1 \le a_i \le 10^9),表示数组的元素。

输出格式

输出一个整数,表示使数组 aa 的所有元素两两不同所需的最小加法操作次数。

3
1 2 3

0

在第一个样例中,数组 aa 的所有元素已经是两两不同的。

5
2 3 2 3 2

2

在第二个样例中,通过执行两次加法操作,参数分别为 x=3x=-3l=1l=1r=2r=2x=1x=-1l=1l=1r=3r=3,数组 aa 变为 [2,1,1,3,2][-2, -1, 1, 3, 2]

9
2 3 1 1 3 2 1 3 3

2

在第三个样例中,通过执行两次加法操作,参数分别为 x=3x=-3l=4l=4r=8r=8x=10x=-10l=7l=7r=9r=9,数组 aa 变为 [2,3,1,2,0,1,12,10,7][2, 3, 1, -2, 0, -1, -12, -10, -7]

数据范围与提示

详细子任务附加限制及分值如下表所示:

子任务 分值 附加限制
11 99 数组 aa 的所有元素均为 11
22 1515 1ai21 \le a_i \le 2(对于 1in1 \le i \le n);aiai+1a_i \le a_{i+1}(对于 1i<n1 \le i < n
33 1414 n8n \le 8
44 1717 a1=ana_1 = a_n
55 1212 n2000n \le 2000
66 1212 1ai1001 \le a_i \le 100(对于 1in1 \le i \le n
77 2121 无附加限制