Độ lệch đơn giản
Đề bài
Mô tả
Định nghĩa độ lệch đơn giản của một tập hợp số là trung bình cộng trừ đi trung vị của tập hợp đó.
- Trung bình cộng của một tập hợp là tổng các phần tử chia cho số phần tử.
- Trung vị của một tập hợp là phần tử đứng giữa sau khi sắp xếp tăng dần, hoặc trung bình cộng của hai phần tử đứng giữa nếu tập hợp có số phần tử chẵn.
Cho một danh sách gồm số nguyên (các số không nhất thiết phân biệt). Hãy chọn ra một tập con khác rỗng của danh sách sao cho độ lệch đơn giản là lớn nhất.
Ở đây "tập con" được hiểu theo nghĩa chọn ra một số vị trí trong danh sách, nên nếu một giá trị xuất hiện nhiều lần trong danh sách thì nó cũng có thể được chọn nhiều lần.
Dữ liệu vào
- Dòng đầu tiên chứa một số nguyên là số phần tử của danh sách.
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
- Dòng đầu tiên in ra một số nguyên là số phần tử của tập con được chọn.
- Dòng thứ hai in ra số nguyên là các phần tử của tập con, theo thứ tự tuỳ ý.
Nếu có nhiều tập con tối ưu, in ra tập con bất kỳ trong số đó.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 1 2 3 12 |
3 1 2 12 |
Tập con {1, 2, 12} có trung bình cộng , trung vị , độ lệch đơn giản . Đây là giá trị lớn nhất có thể. |
| 4 1 1 2 2 |
3 1 1 2 |
Giá trị xuất hiện hai lần trong danh sách nên được chọn hai lần. Trung bình cộng là , trung vị là , độ lệch đơn giản là . |
| 2 1 2 |
1 2 |
Mọi tập con của danh sách này đều có trung bình cộng bằng trung vị, nên độ lệch đơn giản luôn bằng . |
Bình luận