빨래 말리기

면접 대비

시간 제한2초메모리 제한64 MB

요약
매분 1씩 마르고 라디에이터에 올린 한 옷은 k씩 마르는 상황에서, 모든 옷을 말리는 데 필요한 최소 시간을 이진 탐색으로 구하는 문제입니다.
난이도

보통10점 중 5점

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

문제

겨울에는 빨래가 잘 마르지 않아서, Jane은 라디에이터로 건조 속도를 높이려고 한다. 라디에이터는 작아서 한 번에 옷 한 벌만 올려놓을 수 있다.

방금 빤 옷이 nn벌 있고, ii번째 옷은 물을 aia_i만큼 머금고 있다. 매 분마다 아직 마르지 않은 모든 옷의 물의 양이 11씩 줄어든다. 물의 양이 00이 되는 순간 그 옷은 다 말라서 갤 수 있게 된다.

또한 매 분마다 Jane은 옷 한 벌을 라디에이터 위에 올려놓을 수 있다. 그 분 동안 라디에이터에 올린 옷은 평소의 11 대신 물이 kk만큼 줄어든다(단, 00 미만으로는 내려가지 않으며, 남은 물이 kk보다 적으면 물의 양은 00이 된다).

라디에이터를 최대한 효율적으로 사용하여, 모든 옷이 마를 때까지 걸리는 최소 시간(분)을 구하여라.

입력

첫째 줄에 정수 nn이 주어진다 (1≤n≤100 0001 \le n \le 100\,000).

둘째 줄에 nn개의 정수 a1,a2,…,ana_1, a_2, \ldots, a_n이 공백으로 구분되어 주어진다 (1≤ai≤1091 \le a_i \le 10^9).

셋째 줄에 정수 kk가 주어진다 (1≤k≤1091 \le k \le 10^9).

출력

모든 옷을 말리는 데 필요한 최소 시간(분)을 정수 하나로 출력한다.

예제5

  1. 예제 1

    입력
    3
    2 3 9
    5
    
    예상 출력
    3
    
  2. 예제 2

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

    입력
    1
    10
    3
    
    예상 출력
    4
    
  4. 예제 4

    입력
    4
    1 1 1 1
    10
    
    예상 출력
    1
    
  5. 예제 5

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