Xây nhà
Đề bài
Mô tả
Sau nhiều năm tham dự trại hè kiếm tiền thưởng, Sơn Tùng dành dụm được một số tiền đủ để mua đất làm nhà. Mảnh đất cậu ta mua được có dạng hình chữ nhật với mét chiều rộng và mét chiều dài. Để dễ hình dung, mảnh đất có thể được chia thành ô ( hàng, cột), mỗi ô có một độ cao nhất định. Nhà của Sơn Tùng có thể xây trên một ô hoặc một số ô liền nhau có dạng hình chữ nhật (các cạnh nằm dọc theo đường lưới) và có cùng độ cao.
Yêu cầu: Hãy giúp Sơn Tùng đếm số phương án có thể xây được ngôi nhà của mình trên mảnh đất đã mua được, tức là đếm số hình chữ nhật con của lưới mà mọi ô bên trong có cùng độ cao. Hai phương án khác nhau nếu tập ô được chọn khác nhau.
Dữ liệu vào
- Dòng đầu ghi hai số nguyên và .
- dòng tiếp theo, mỗi dòng ghi số nguyên biểu thị độ cao của mỗi ô vuông trong mảnh đất.
Các số trên cùng một dòng cách nhau ít nhất một khoảng trắng.
Dữ liệu ra
Ghi một số nguyên là số phương án có thể xây nhà.
Ràng buộc
- ;
- .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 3 2 2 2 2 2 1 1 1 1 2 1 2 1 2 1 |
27 | Có phương án gồm một ô và phương án gồm nhiều ô, ví dụ hình chữ nhật ở góc trên bên trái (toàn độ cao ) hay cả hàng thứ ba (toàn độ cao ). |
| 3 4 1 1 2 2 1 1 2 2 3 1 1 1 |
27 | Ví dụ bổ sung: các ô độ cao tạo thành một vùng không phải hình chữ nhật và cho phương án (trong đó có phương án nằm trong khối ở góc trên bên trái), khối độ cao cho phương án, ô độ cao cho phương án. |
| 1 5 1000000000 1000000000 7 1000000000 1000000000 |
7 | Ví dụ bổ sung: hai cặp ô độ cao bị ô độ cao chia cắt nên không ghép thành một hình chữ nhật; có phương án một ô và phương án hai ô. |
Bình luận