만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

플랫폼 배치

면접 대비

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

요약
각 기초 지점 아래에 길이가 s 이상 k 이하인 플랫폼을 하나씩 놓되, 이웃한 플랫폼이 겹치지 않게 하면서 전체 길이의 합을 최대로 구합니다.
난이도

보통10점 중 5점

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

문제

아틀란티스 시는 해수면 위의 구역을 만들고 있다. 플랫폼은 바다 밑바닥에 일직선으로 놓인 기초 지점에 중심이 고정된다. 각 플랫폼은 기초선에 맞춰 정렬된 너비가 일정한 직사각형이다. 구체적으로, 길이가 ℓ\ell인 플랫폼이 선 위의 위치 xx에 있는 기초 지점에 고정되면, 해수면에서 구간 [x−ℓ2,x+ℓ2][x - \frac{\ell}{2}, x + \frac{\ell}{2}]을 차지한다.

플랫폼마다 길이는 달라도 되지만, 허용되는 최소 길이와 최대 길이가 정해져 있다. 연속한 플랫폼 사이에는 간격을 둘 수 있다. 플랫폼끼리 정확히 맞닿는 것은 허용되지만, 겹치는 것은 허용되지 않는다. 각 기초 지점에는 플랫폼이 정확히 하나씩 연결되어야 한다.

아틀란티스 사람들은 해수면 위 구역을 가능한 한 넓게 만들려고 한다. 기초 지점의 위치와 플랫폼의 최소, 최대 길이가 주어졌을 때, 플랫폼 길이의 합이 가능한 최댓값이 되는 값을 구하라.

입력

첫째 줄에 공백으로 구분된 세 정수 nn (1≤n≤1051 \le n \le 10^5), ss, kk (1≤s≤k≤1051 \le s \le k \le 10^5)가 주어진다. 여기서 nn은 기초 지점의 개수, ss는 가능한 플랫폼의 최소 길이, kk는 가능한 최대 길이이다.

다음 nn개 줄에는 기초 지점의 위치 xx (1≤x≤1091 \le x \le 10^9)가 한 줄에 하나씩 주어진다. 기초 지점의 위치는 모두 서로 다르다.

출력

플랫폼 길이 합의 최댓값을 정수 하나로 출력한다. 플랫폼을 배치할 수 없으면 −1-1을 출력한다.

예제3

  1. 예제 1

    입력
    4 1 4
    1
    6
    8
    10
    
    예상 출력
    11
    
  2. 예제 2

    입력
    5 1 6
    6
    7
    8
    3
    5
    
    예상 출력
    7
    
  3. 예제 3

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