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

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

캐슬 디펜스

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

요약
각 지점의 적 수가 주어질 때, 성이 E 이상의 피해를 입지 않도록 궁수 수 k와 발사 간격 t를 정하고 a*k - b*t의 최솟값을 구합니다.
난이도

어려움10점 중 8점

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

문제

성에 적들이 몰려오고 있다. 성은 수직선 위 00 지점에 있고, 적들은 11 이상 NN 이하의 정수 좌표에 있다.

적들은 11초마다 성이 있는 방향으로 11만큼 전진한다. 성에 도달한 적은 성에 11의 대미지를 주고 소멸한다.

성은 EE만큼의 대미지를 입는 순간 파괴된다.

세윤이는 성을 지키기 위해 kk명(0≤k0 \leq k)의 궁수를 고용하기로 했다. 궁수는 tt초(1≤t≤1091 \leq t \leq 10^9)마다 한 명의 적에게 화살을 쏠 수 있고, 화살에 맞은 적은 소멸한다. 궁수들은 성이 파괴되지 않도록 최선의 전략으로 화살을 쏜다.

궁수들은 정확히 0.50.5초, t+0.5t+0.5초, 2t+0.52t+0.5초… 시점에 화살을 쏠 수 있고, 적들은 정확히 11초, 22초, 33초… 시점에 이동한다.

성이 파괴되지 않는 정수 kk와 tt에 대하여 a⋅k−b⋅ta\cdot k-b\cdot t의 최솟값을 구하여라.

입력

첫째 줄에 네 정수 NN, aa, bb, EE가 주어진다 (1≤N≤1000001 \leq N \leq 100000, 1≤a,b,E≤1081 \leq a, b, E \leq 10^8).

(1+i)(1+i)번째 줄(1≤i≤N1 \leq i \leq N)에는 00초일 때 좌표 ii에 있는 적의 수 AiA_i가 주어진다 (0≤Ai≤1050 \leq A_i \leq 10^5).

출력

성이 파괴되지 않는 정수 kk와 tt의 모든 경우에 대하여 a⋅k−b⋅ta\cdot k-b\cdot t의 최솟값을 출력한다.

예제3

  1. 예제 1

    입력
    5 85325539 65329221 12106895
    751
    33304
    29946
    8659
    6719
    
    예상 출력
    -65329221000000000
    
  2. 예제 2

    입력
    10 92345432 13 10
    6
    4
    0
    7
    9
    10
    2
    5
    1
    6
    
    예상 출력
    -9213837288
    
  3. 예제 3

    입력
    2 100000000 1 1
    100
    300
    
    예상 출력
    19999999999