编程题
### 问题描述
Alex 有一个大小为 $N$ 的数组,初始时数组中的所有单元格都是白色的。Alex 进行了 $M$ 次操作,每次操作选择一个非空的子数组,并将所有单元格涂上由数字 $1$ 到 $M$ 标识的颜色。每种颜色都是不同的,且每种颜色在操作中恰好出现一次。操作结束后,没有单元格保持白色。
设想我们找出被涂色次数最多的单元格。整个过程的成本等于这个单元格被涂色的次数。你需要以一种方式重构 Alex 的操作,使得成本最大化。
### 输入格式
第一行包含两个整数 $N$ 和 $M$。
第二行包含 $N$ 个整数,数值在 $1$ 到 $M$ 之间,代表过程结束时单元格的颜色。
### 输出格式
输出一个整数,代表可能的最大成本。
### 样例输入
```
7 4
1 2 3 2 1 4 1
```
### 样例输出
```
3
```
### 评测数据规模
- $1 \leq N, M \leq 10^5$