WhiteRaptor 終於在 TheRaptorLand 找到了他的同類!與普通的 WhiteRaptor 不同,TheRaptorLand 有各種顏色的猛禽:PinkRaptor、BlueRaptor 和 GreenRaptor。
WhiteRaptor 將 TheRaptorLand 中所有的 $n$ 隻猛禽排成一列,從左到右編號為 $1$ 到 $n$。從左邊數起的第 $i$ 隻猛禽顏色為 $c[i]$。他想要挑選一些猛禽永遠留在他的地下室陪伴他。然而,他只能透過移除隊列左端或右端的零隻或多隻猛禽,並保留剩餘的所有猛禽來達成目的。
為了確保留下的猛禽不會被排擠,他希望最常見猛禽顏色的出現次數與最少見猛禽顏色的出現次數之差不超過 $k$。請注意,如果某種顏色的猛禽沒有被保留,則該顏色的出現次數視為 $0$。
請幫助 WhiteRaptor 找出他最多可以保留多少隻猛禽!
輸入格式
您的程式必須從標準輸入讀取資料。 第一行包含兩個整數 $n$ 和 $k$。 第二行包含 $n$ 個以空白分隔的整數 $c[1], c[2], \dots, c[n]$。
輸出格式
您的程式必須輸出至標準輸出。 輸出一個整數,代表他最多可以保留的猛禽數量。
資料範圍
對於所有測試資料,輸入滿足以下限制: $1 \le n \le 200\,000$ $0 \le k \le 200\,000$ * $1 \le c[i] \le 3$ 對於所有 $1 \le i \le n$
子任務
您的程式將在滿足以下限制的輸入實例上進行測試:
| 子任務 | 分數 | 其他限制 |
|---|---|---|
| 0 | 0 | 範例測試資料 |
| 1 | 5 | $n \le 500$ |
| 2 | 9 | $n \le 2000$ |
| 3 | 11 | $c[i] \le 2$ |
| 4 | 15 | $k = 0$ |
| 5 | 16 | 存在一個 $1 \le j \le n$ 使得對於所有 $i \le j$,$c[i] \neq 3$,且對於所有 $i > j$,$c[i] = 3$ |
| 6 | 20 | 在任何連續 3 隻或以上的猛禽序列中,顏色 3 是最少見的 |
| 7 | 24 | 無其他限制 |
範例
輸入格式 1
11 2 2 2 1 2 1 3 2 1 2 1 1
輸出格式 1
7
說明
從第 3 隻猛禽到第 9 隻猛禽,顏色為 $c[i] = 1, 2, 3$ 的猛禽數量分別為 $3, 3, 1$。由於最大頻率與最小頻率之差不超過 $k = 2$,這組猛禽滿足 WhiteRaptor 的標準。
無效猛禽集合的一個例子是從第 3 隻到第 10 隻,因為加入另一隻 $c[i] = 1$ 的猛禽會導致最常見顏色的頻率變為 $4$。由此產生的最大頻率與最小頻率之差為 $3$,超過了 $k = 2$。
可以證明 $7$ 是 WhiteRaptor 在滿足其標準下所能保留的最大猛禽數量。
輸入格式 2
6 2 2 1 3 3 3 3
輸出格式 2
5
說明
WhiteRaptor 應該選擇從第 1 隻到第 5 隻的猛禽。
輸入格式 3
7 0 1 2 1 2 1 2 1
輸出格式 3
0
說明
由於任何連續的猛禽序列都不會包含顏色為 $c[i] = 3$ 的猛禽,因此最少見顏色的頻率將永遠為 $0$。這意味著 WhiteRaptor 無法選擇任何非空的猛禽序列。因此,輸出為 $0$。
請注意,此測試資料滿足子任務 5,因為我們可以指定 $j = n$(不會出現顏色為 3 的猛禽)。