Maximale Länge eines Subarrays mit eindeutigen Elementen nach K Ersetzungen

C++ Hard arrays

Aufgabe «Maximale Länge eines Subarrays mit eindeutigen Elementen nach K Ersetzungen»

Gegeben ist ein Array von ganzen Zahlen. Es ist erlaubt, höchstens K Elemente des Arrays durch beliebige andere ganze Zahlen (möglicherweise nicht eindeutig) zu ersetzen. Es soll die maximal mögliche Länge eines zusammenhängenden Subarrays gefunden werden, dessen Elemente nach höchstens K Ersetzungen alle verschieden (eindeutig) sind. Falls es unmöglich ist, ein Subarray mit eindeutigen Elementen zu erhalten, gebe 0 aus. Einschränkungen: Array-Länge N bis zu 10^5, K bis zu N, Werte der Elemente im Betrag bis zu 10^9.

Eingabeformat

In der ersten Zeile zwei ganze Zahlen N und K (1 ≤ N ≤ 100000, 0 ≤ K ≤ N). In der zweiten Zeile N ganze Zahlen – die Elemente des Arrays.

Ausgabeformat

Eine ganze Zahl – die maximale Länge eines Subarrays mit eindeutigen Elementen nach höchstens K Ersetzungen.

Beispiele

Beispiel 1

EINGABE
4 1 2 3 4
AUSGABE
3
main.cpp