Olympic TPHCM 2026 - Bộ sưu tập

Xem dạng PDF

Gửi bài giải

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

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Trò chơi Bộ sưu tập đá quý trên máy tính đòi hỏi người chơi phải tìm kiếm nhanh và tối ưu. Hệ thống đưa ra ~N~ viên đá đặt liên tiếp nhau, viên thứ ~i~ có mã màu là ~C_i~, đồng thời cung cấp một số nguyên ~K~. Người chơi phải tìm một bộ sưu tập là một đoạn các viên đá liên tiếp sao cho trong đó có ít nhất ~K~ mã màu khác nhau và số lượng viên đá trong đoạn chọn là ít nhất.

Yêu cầu: Viết chương trình tính số lượng viên đá trong bộ sưu tập đã tìm được.

Input

Dòng 1: hai số nguyên dương ~N~, ~K~ ~(1 \le K \le N \le 10^5)~.

Dòng 2: gồm ~N~ số nguyên ~C_i~ ~(1 \le C_i \le 10^9)~.

Output

Ghi ra một số nguyên duy nhất là số lượng viên đá trong bộ sưu tập, nếu không tìm được bộ sưu tập đảm bảo điều kiện trên, in ra ~-1~.

Scoring

Subtask Điểm Ràng buộc
1 ~30\%~ ~N \le 100~
2 ~30\%~ ~N \le 5000~
3 ~40\%~ ~N \le 10^5~

Sample Input 1

5 3
1 2 1 3 2

Sample Output 1

3

Notes

Các đoạn viên đá liên tiếp có ít nhất ~3~ màu:

  • 1 2 1 3

  • 2 1 3

  • 1 3 2

  • 2 1 3 2

  • 1 2 1 3 2

Đoạn có số lượng viên đá ít nhất là ~3~.


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.