Các khối cùng tổng (bản khó)
Đề bài
Mô tả
Cho một dãy số nguyên . Một khối (block) là một dãy con gồm các phần tử liên tiếp (với ), được xác định bởi cặp chỉ số .
Hãy tìm một tập các khối thoả mãn:
- Các khối đôi một rời nhau (không giao nhau): với mọi cặp khối , hoặc , hoặc .
- Tổng các phần tử trong mỗi khối bằng nhau:
- Số khối lớn nhất có thể.
Dữ liệu vào
- Dòng đầu chứa số nguyên : độ dài của dãy.
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
- Dòng đầu in số nguyên : số khối trong tập tìm được.
- Trong dòng tiếp theo, mỗi dòng in hai số nguyên mô tả một khối.
Có thể in các khối theo thứ tự bất kỳ. Nếu có nhiều đáp án cùng đạt lớn nhất, in ra bất kỳ đáp án nào.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 7 4 1 2 2 1 5 3 |
3 1 2 3 5 6 6 |
Ba khối rời nhau và cùng có tổng : . Không thể chọn được khối cùng tổng và rời nhau. |
| 4 1 1 1 1 |
4 1 1 2 2 3 3 4 4 |
Chọn cả bốn phần tử làm bốn khối đơn, mỗi khối có tổng . |
| 11 -5 -4 -3 -2 -1 0 1 2 3 4 5 |
2 1 1 3 4 |
Hai khối và cùng tổng : . |
Bình luận