-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path16931.py
More file actions
37 lines (29 loc) · 962 Bytes
/
16931.py
File metadata and controls
37 lines (29 loc) · 962 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
blocks = [[0] * m for _ in range(n)]
for i in range(n):
blocks[i] = list(map(int, input().split()))
TOP = n * m
BOTTOM = n * m
LEFT = sum(blocks[i][0] for i in range(n))
for i in range(n):
for j in range(m-1):
if blocks[i][j] < blocks[i][j+1]:
LEFT += (blocks[i][j+1] - blocks[i][j])
RIGHT = sum(blocks[i][-1] for i in range(n))
for i in range(n):
for j in range(m-1, 0, -1):
if blocks[i][j-1] > blocks[i][j]:
RIGHT += (blocks[i][j-1] - blocks[i][j])
FRONT = sum(blocks[n-1])
for i in range(m):
for j in range(n-1, 0, -1):
if blocks[j][i] < blocks[j-1][i]:
FRONT += (blocks[j-1][i] - blocks[j][i])
BACK = sum(blocks[0])
for i in range(m):
for j in range(n-1):
if blocks[j][i] < blocks[j+1][i]:
BACK += (blocks[j+1][i] - blocks[j][i])
print(TOP + BOTTOM + LEFT + RIGHT + FRONT + BACK)