Vòng tròn cân bằng lớn nhất
Đề bài
Mô tả
Có người xếp thành một hàng. Người thứ có chiều cao .
Bạn được chọn ra một tập con bất kỳ trong số những người này và xếp họ thành một vòng tròn cân bằng. Một vòng tròn được gọi là cân bằng nếu với mỗi cặp người đứng cạnh nhau (kể cả cặp gồm người đầu tiên và người cuối cùng, vì đây là vòng tròn) thì chênh lệch chiều cao của họ không vượt quá .
Cụ thể, nếu chiều cao của những người được chọn theo thứ tự vòng tròn là thì phải thỏa mãn với mọi từ đến , và đồng thời .
Hãy chọn ra nhiều người nhất có thể và xếp họ thành một vòng tròn cân bằng. Một vòng tròn chỉ gồm đúng một người luôn được coi là cân bằng, nên đáp án luôn tồn tại.
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên .
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
- Dòng đầu tiên in ra , số người trong vòng tròn cân bằng lớn nhất.
- Dòng thứ hai in ra số nguyên , là chiều cao của những người theo thứ tự trong vòng tròn. Thứ tự này phải thỏa mãn với mọi từ đến , và .
Nếu có nhiều đáp án, in ra bất kỳ đáp án nào.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 7 4 3 5 1 2 2 1 |
5 1 1 2 3 2 |
Chọn 5 người có chiều cao 1, 1, 2, 3, 2. Kiểm tra vòng tròn: 1-1, 1-2, 2-3, 3-2, và 2-1 (khép vòng), mọi chênh lệch đều . |
| 5 3 7 5 1 5 |
2 5 5 |
Hai người cao 5 tạo thành vòng tròn hợp lệ. Không thể chọn 3 người trở lên. |
| 3 5 1 4 |
2 4 5 |
Hai người cao 4 và 5 chênh nhau . |
| 7 2 2 3 2 1 2 2 |
7 1 2 3 2 2 2 2 |
Dùng được tất cả: một người cao 1, một người cao 3, và năm người cao 2. |
Bình luận