실행 시간 제한 | 메모리 제한 |
---|---|
2 초 | 512 MB |
다희는 돌아다니면서 경치를 구경하는 것을 좋아하며, 오늘 그녀는 경치 좋은 계곡을 찾고 있습니다.
각 셀마다 높이가 있는 셀 격자가 있을 때, 이 정사각형 격자 바깥의 모든 셀은 무한대의 높이를 가지고 있다고 간주할 수 있습니다.
계곡은 이 격자에서 인접하고 구멍이 없으며, 영역을 둘러싼 주변의 모든 셀이 해당 영역의 모든 셀보다 높은 영역을 말합니다.
즉:
다희의 목표는 모든 계곡의 크기 합을 구하는 것입니다.
예시
이것은 영역입니다:
oo.
ooo
..o
이것은 영역이 아닙니다 (가운데 셀과 오른쪽 아래 셀이 가장자리-연속이 아닙니다):
oo.
oo.
..o
이것은 구멍이 없는 영역입니다:
ooo
o..
o..
이것은 구멍이 있는 영역입니다 ("도넛" 모양 안의 단일 셀이 영역 "외부"와 점-연속성이 아닙니다):
ooo
o.o
ooo
이것은 또 다른 구멍이 없는 영역입니다 (중앙에 있는 단일 셀이 오른쪽 아래 모서리의 셀과 점-연속성이 있습니다):
ooo
o.o
oo.
첫 번째 줄에는 정수 , 이 들어 있습니다.
다음 줄에는 각각 개의 정수가 있고, 이는 격자 셀의 높이입니다. 각 높이 는 에 만족할 것입니다. 모든 높이는 개별된 정수입니다.
최소 19%의 테스트 케이스에서 이 보장됩니다.
출력은 단일 정수로, 모든 계곡의 크기의 합입니다.
3 1 10 2 20 100 30 3 11 50
30
이 예시에서, 크기 1인 계곡이 세 개 있습니다:
o.o
...
o..
크기 2인 계곡이 하나 있습니다:
...
...
oo.
크기 3인 계곡이 하나 있습니다:
ooo
...
...
크기 6인 계곡이 하나 있습니다:
ooo
o..
oo.
크기 7인 계곡이 하나 있습니다:
ooo
o.o
oo.
그리고 크기 9인 계곡이 하나 있습니다:
ooo
ooo
ooo
따라서, 답은 1 + 1 + 1 + 2 + 3 + 6 + 7 + 9 = 30입니다.