Bedao Grand Contest 13 - FLOWER

Xem dạng PDF

Gửi bài giải


Điểm: 0,70 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Cho một vườn hoa ~N \times M~, mỗi ô là một bông hoa có chiều cao là ~H_{i, j}~. Chiều cao của các bông hoa đều phân biệt. Ông chủ muốn chọn một hình chữ nhật các bông hoa sao cho chiều cao của bông hoa nằm ở góc trái trên và góc phải dưới cao hơn hẳn chiều cao của các bông hoa còn lại trong hình chữ nhật.

Một hình chữ nhật có hai góc là ~(x_1, y_1)~ và ~(x_2, y_2)~ với ~1 \le x_1 \le x_2 \le N~ và ~1 \le y_1 \le y_2 \le M~ thỏa mãn khi với mọi ~x_3~, ~y_3~ sao cho ~x_1 \le x_3 \le x_2~, ~y_1 \le y_3 \le y_2~:

~H_{x_3, y_3} \le min(H_{x_1, y_1}, H_{x_2, y_2})~

Vì vườn hoa rất lớn hãy giúp ông chủ đếm có bao nhiêu hình chữ nhật các bông hoa thỏa mãn điều kiện nhé.

Input

  • Dòng đầu là ~2~ số nguyên ~N~, ~M~ ~(N \times M \le 10^5, N \le 20)~.
  • ~N~ dòng tiếp theo, mỗi dòng gồm ~M~ số ~H_{i, j}~ ~(1 \le H_{i, j} \le N \times M)~.

Output

  • In ra một dòng duy nhất là số hình chữ nhật thỏa mãn.

Sample Input 1

2 5
6 1 9 2 3
5 8 4 7 10

Sample Output 1

30

Sample Input 2

2 5
5 1 4 2 3
6 8 7 10 9

Sample Output 2

26

Scoring

  • ~20\%~ số test đầu có ~N \times M \le 1000~.
  • ~80\%~ số test còn lại không có điều kiện gì thêm.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.