Bảng chữ cái

Xem dạng PDF

Gửi bài giải

Điểm: 0,20 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Bạn sáng tạo ta một bảng chữ cái gồm ~k~ kí tự, tuy nhiên do chưa có hình vẽ đại diện nên bạn tạm dùng các số nguyên dương từ ~1~ đến ~k~ để đại diện thay thế. Bạn giao cho học sinh một dãy gồm ~n~ nguyên không âm đại diện cho một từ, tuy nhiên do dãy số đã tồn tại quá lâu nên một số vị trí đã bị mờ và không còn xác định được giá trị, những vị trí như vậy được đánh bằng số 0.

Bạn cũng đã quên mất ý nghĩa của từ nễn đã nhờ các bạn học sinh tìm đoạn con liên tiếp ngắn nhất có thể thay các số ~0~ thành các số có giá trị khác sao cho trong đoạn con đó có đủ ~k~ loại kí tự.

Input

Dòng đầu tiên có hai số nguyên ~n~ và ~k~ ~(k \le n \le 5*10^5)~: kích thước mảng và số lượng giá trị phân biệt.

Dòng thứ hai có ~n~ số nguyên ~a_1, a_2, \dots, a_n~: các giá trị của mảng.

OutputFile

In ra số nguyên duy nhất là độ dài của đoạn tìm được. Nếu không tồn tại dãy con như vậy thì in ra ~-1~.

SampleInput

5 3
2 0 1 1 3  

SampleOutput

3

Giải thích

Chọn đoạn 2 0 1

Subtask

  • 60% số test có ~ n \le 5000 ~
  • 40% số test còn lại không có điều kiện gì thêm

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.