NOI Singapore 2026 - 3 Raptors

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch
Điểm: 2400 (p) Thời gian: 2.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

\(n\) con khủng long xếp thành một hàng từ trái sang phải, đánh số từ \(1\) đến \(n\). Con thứ \(i\) có màu \(c_i\in\{1,2,3\}\).

WhiteRaptor được phép bỏ một số con (có thể bằng \(0\)) ở đầu trái và đầu phải, rồi giữ lại toàn bộ đoạn liên tiếp còn lại.

Trong đoạn được giữ, xét tần suất của cả ba màu. Nếu một màu không xuất hiện thì tần suất của nó bằng \(0\). WhiteRaptor yêu cầu hiệu giữa tần suất lớn nhất và nhỏ nhất không vượt quá \(k\).

Hãy tìm số khủng long lớn nhất có thể giữ lại. Được phép giữ đoạn rỗng.

Dữ liệu vào

  • Dòng đầu chứa \(n,k\).
  • Dòng thứ hai chứa \(c_1,c_2,\ldots,c_n\).

Dữ liệu ra

In số lượng lớn nhất có thể giữ.

Giới hạn

\[ 1\le n\le200\,000,\quad 0\le k\le200\,000,\quad 1\le c_i\le3 \]

Chấm điểm

Phần Điểm Giới hạn thêm
1 5 \(n\le500\)
2 9 \(n\le2000\)
3 11 \(c_i\le2\)
4 15 \(k=0\)
5 16 Tồn tại \(1\le j\le n\) sao cho \(c_i\ne3\) với mọi \(i\le j\), và \(c_i=3\) với mọi \(i>j\)
6 20 Trong mọi đoạn liên tiếp gồm ít nhất \(3\) con, màu \(3\) có tần suất nhỏ nhất
7 24 Không có giới hạn thêm

Ví dụ

Ví dụ 1

Input
11 2
2 2 1 2 1 3 2 1 2 1 1
Output
7

Đoạn từ vị trí \(3\) đến \(9\) có tần suất các màu \(1,2,3\) lần lượt là \(3,3,1\), nên hiệu bằng \(2\). Không có đoạn hợp lệ dài hơn.

Ví dụ 2

Input
6 2
2 1 3 3 3 3
Output
5

Có thể giữ đoạn từ vị trí \(1\) đến \(5\).

Ví dụ 3

Input
7 0
1 2 1 2 1 2 1
Output
0

Mọi đoạn không rỗng đều không chứa màu \(3\), nên tần suất nhỏ nhất là \(0\) và không thể có ba tần suất bằng nhau. Ví dụ này thỏa phần \(5\) khi chọn \(j=n\).

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: