KGOOD - Phân đoạn k-good dài nhất
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: nhungchuyenhg

Cho mảng a với n số nguyên. Một chuỗi gồm một hoặc nhiều phần tử liên tiếp được gọi là một phân đoạn của mảng a. Ngoài ra, nó được gọi là phân đoạn k - good nếu nó không chứa nhiều hơn k giá trị khác nhau. Tìm phân đoạn k -good dài nhất.

Dữ liệu vào:  Nhập từ tệp văn bản KGOOD.INP có cấu trúc như sau:

  • Dòng đầu tiên chứa hai số nguyên n ,  k ( 1 ≤  k  ≤  n  ≤ 5.10 5 ) là số phần tử trong mảng a và tham số k.
  • Dòng thứ hai chứa n số nguyên ai ( 0 ≤  i  ≤ 10 6 ) là các phần tử của mảng a.

Dữ liệu ra: Ghi ra tệp văn bản KGOOD.OUT.

In hai số nguyên l ,  r ( 1 ≤  l  ≤  r  ≤  n ) là chỉ số đầu và chỉ số cuối của đoạn dài nhất k -good. Nếu có một số phân đoạn dài nhất, hãy in phân đoạn đầu tiên dài nhất. 

Ví dụ:

KGOOD.INP

KGOOD.OUT

5 5

1 2 3 4 5

1 5

Giới hạn:

  • Có 60% số test ứng với 60% số điểm của bài có 1 ≤ n ≤ 100, 0 ≤ ai ≤ 1000
  • Có 40% số test ứng với 40% số điểm của bài có 1 ≤ n ≤ 105, 0 ≤ ai ≤ 106

Ví dụ

Back to Top