trang chủ / đề bài / dnai_tst_26_d

Xếp hàng

Đề bài

Mô tả

Nhân dịp lễ khai giảng năm học 2026-2027, trường THPT XYZ lên kế hoạch tổ chức cho học sinh đón chào đại biểu tham dự lễ.

Hiện tại thầy phụ trách đang sắp xếp n học sinh đứng thành một hàng ngang từ trái sang phải, học sinh thứ i mặc áo màu ai. Để hàng học sinh được đẹp mắt, thầy phụ trách cần điều chỉnh sao cho dãy màu áo của các học sinh tạo thành một dãy đối xứng. Một dãy được gọi là đối xứng nếu giống nhau khi đọc từ trái sang phải và từ phải sang trái. Ví dụ: dãy 1,2,2,1 là một dãy đối xứng trong khi dãy 1,2,3,1 thì không.

Để điều chỉnh, thầy phụ trách có thể thực hiện một số thao tác, mỗi thao tác sẽ thực hiện một trong hai công việc:

  • Loại một học sinh bất kỳ ra khỏi hàng.
  • Đổi màu áo của một học sinh bất kỳ trong hàng sang một màu khác.

Yêu cầu: Hãy giúp thầy phụ trách thực hiện ít thao tác nhất để dãy màu áo của các học sinh trong hàng trở thành dãy đối xứng, trong các phương án cùng thực hiện ít thao tác nhất, hãy đưa ra phương án sao cho độ dài dãy đối xứng là dài nhất.

Dữ liệu vào

  • Dòng đầu chứa số nguyên dương n.
  • Dòng tiếp theo chứa n số nguyên dương a1,a2,…,an là số biểu thị màu áo của học sinh.

Dữ liệu ra

  • Dòng đầu ghi số nguyên x là số thao tác ít nhất cần thực hiện.
  • Dòng thứ hai ghi số nguyên y là độ dài lớn nhất của dãy đối xứng tìm được khi thực hiện x thao tác.

Ràng buộc

  • 1≤n≤3000.
  • 1≤ai≤3000.

Subtasks

  • Subtask 1 (30% số điểm): n≤10.
  • Subtask 2 (30% số điểm): n≤300.
  • Subtask 3 (40% số điểm): Không có giới hạn gì thêm.

Ví dụ

Input Output Giải thích
7
5 4 3 3 1 5 2
2
6
Đổi màu áo của học sinh thứ 2 thành màu 1, sau đó loại học sinh thứ 7 ra khỏi hàng: dãy 5,1,3,3,1,5 là dãy đối xứng.
5
1 2 1 3 2
2
5
Đổi màu học sinh thứ 1 và thứ 4 thành màu 2 được 2,2,1,2,2. Loại học sinh thứ 4 và 5 (được 1,2,1) cũng chỉ cần 2 thao tác nhưng dãy ngắn hơn.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0