문제 분류 수업 진도 대회 채점현황 순위 질문게시판
게임
스도쿠 타이핑 리듬 타자게임 타이핑 테트리스 타이핑 인베이더 타이핑 지뢰찾기 8192 공룡게임 타이핑 플래피버드 랭킹
로그인

6029 : 빌딩 조망권

•시간제한: 2.000 S •메모리제한: 256 MB •제출: 2 •통과: 1 •만든사람: suakii

6029 : 빌딩 조망권

시간 2.000s · 메모리 256MB · 제출 2 · 정답 1

문제 설명

$N$개의 빌딩이 한 줄로 서 있고, 각 빌딩의 높이가 주어집니다.
각 빌딩에서 왼쪽과 오른쪽을 수평으로 바라보았을 때, 자신보다 높이가 낮은 빌딩들 중 막히지 않고 관측할 수 있는 빌딩들의 개수의 합을 구하십시오.
수평선 상에서 자신보다 같거나 큰 빌딩을 만나면 그 너머의 빌딩들은 더 이상 볼 수 없습니다.

입력 설명

첫째 줄에 빌딩의 수 $N$이 주어집니다. ($1 \le N \le 100,000$)
둘째 줄에 각 빌딩의 높이가 공백으로 구분되어 주어집니다.

출력 설명

각 빌딩에서 볼 수 있는 빌딩 수(왼쪽 + 오른쪽 합산)를 공백으로 구분하여 한 줄에 출력합니다.

입력 예시
COPY
복사되었습니다!

4
3 7 2 4

출력 예시
COPY
복사되었습니다!

0 3 0 1

도움

단조 스택을 사용하여 각 빌딩의 왼쪽 및 오른쪽에서 처음으로 자기 자신보다 같거나 큰 빌딩이 등장하는 인덱스 $L, R$을 찾은 뒤, 거리의 합을 구합니다.

출처/분류

NOTICE  —  BFStudy OJ 정보샘
애들아, 문제 많이 풀고 게임 잠깐 하는거지?
— 정보샘