Xoá ít nhất để đẹp
Nộp bài giải
Điểm:
3,00 (OI)
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Dạng bài
Ngôn ngữ cho phép
Ada, Algol, Assembly, Awk, C, C#, C++, D, Dart, Forth, Fortran, Go, Groovy, Java, Javascript, Kotlin, Lisp, Lua, Nim, ObjC, Pascal, Perl, PHP, Pike, Python, Racket, Ruby, Rust, Scheme, Scratch, Sed, TCL, Typescript, V, Zig
Cho mảng gồm số nguyên, mỗi phần tử là một trong sáu giá trị: .
Một mảng độ dài được gọi là đẹp nếu chia hết cho và có thể chia mảng thành dãy con (không nhất thiết liên tiếp) sao cho mỗi dãy con có giá trị đúng theo thứ tự là .
Hãy tìm số phần tử ít nhất cần xoá khỏi để mảng còn lại trở nên đẹp. Khi xoá xong, các phần tử còn lại giữ nguyên thứ tự ban đầu.
Lưu ý: mảng rỗng (sau khi xoá hết) cũng được xem là đẹp.
Dữ liệu vào
- Dòng 1: số nguyên — số phần tử của mảng.
- Dòng 2: số nguyên , mỗi số là một trong .
Dữ liệu ra
Một số nguyên duy nhất — số phần tử ít nhất phải xoá.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 4 8 15 16 23 |
5 | Không thể tạo được dãy 4 8 15 16 23 42 nào, phải xoá hết 5 phần tử. |
| 12 4 8 4 15 16 8 23 15 16 42 23 42 |
0 | Mảng đã đẹp: ghép 2 dãy con, một dãy lấy các vị trí 1,2,4,5,7,10 và dãy còn lại lấy phần còn lại. |
| 15 4 8 4 8 15 16 8 16 23 15 16 4 42 23 42 |
3 | Xoá đúng 3 phần tử để còn 12 phần tử chia được thành 2 dãy con hợp lệ. |
Bình luận