아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

외계 침략자 윤이

시간 제한1초메모리 제한1024 MB

요약
매일 가장 높은 건물 모두의 높이가 1씩 줄어들 때, D일 동안 발사된 레이저의 총 횟수를 구한다.
난이도

보통10점 중 7점

유형
이분 탐색, 그리디, 정렬, 수학
정답자
아직 제출이 없습니다

문제

외계인 윤이는 지구를 정복하고자 세계의 중심 도시인 울산을 침략했다. 울산에는 NN개의 빌딩이 일렬로 늘어서 있고, 왼쪽에서 ii번째 건물의 높이는 h_ih\_i이다.

윤이는 울산을 파괴하기 위해 다음과 같은 계획을 세웠다. 윤이는 매일 UFO를 타고 울산의 상공을 가르며 가장 높이가 높은 빌딩에 레이저를 발사할 것이다. 레이저에 맞은 빌딩은 높이가 11 낮아진다. 만약 그 날에 가장 높이가 높은 빌딩이 여러 개라면, 해당하는 모든 빌딩에 레이저를 발사한다. 만약 이미 모든 빌딩의 높이가 00이 되었다면, 윤이는 더 이상 레이저를 발사하지 않는다.

윤이는 지금까지 DD일 동안 계획을 착실하게 수행해 왔다. 윤이가 DD일 동안 레이저를 발사한 총 횟수를 구하시오.

입력

첫 번째 줄에 건물의 개수 NN과 윤이가 계획을 수행한 날의 수 DD가 공백으로 구분되어 주어진다. (1≤N≤300 0001\le N\le 300\ 000, 1≤D≤300 0001\le D\le 300\ 000)

두 번째 줄에 건물의 높이를 나타내는 NN개의 정수 h_ih\_i가 공백으로 구분되어 주어진다. (1≤h_i≤300 0001\le h\_i\le 300\ 000)

출력

윤이가 DD일 동안 레이저를 발사한 총 횟수를 출력한다. (32비트 정수 범위를 넘을 수 있음에 유의하라.)

예제2

  1. 예제 1

    입력
    5 3
    1 3 2 5 4
    
    예상 출력
    6
    
  2. 예제 2

    입력
    5 2
    1 1 1 1 1
    
    예상 출력
    5