페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#2310

[고등부] 2024 KOI 2차대회 대비 모의고사 (3주차)

균형 배치
서브태스크
5초 1024MB

문제

정올이는 하나의 로봇과 원형의 둘레가 L인 원 위에 각각 점 0에 위치해 있다 (1 ≤ L ≤ 10^9).

정올이는 원을 따라 시계방향 또는 반시계방향으로 초당 1단위씩 이동할 수 있다. 이 문제에서 모든 움직임은 연속적이다.

정올이는 초기 로봇과 추가적인 R-1개의 로봇을 균형있게 배치하고 싶다.

균형있게 배치되었다는 것은 배치를 마친 순간 각각의 인접한 로봇 사이의 거리가 L/R이 되어야 한다는 것이다 (2 ≤ R ≤ 20, RL을 나눌 수 있다).

단, 정올이가 로봇을 배치할 수 있는 지점은 총 N개 있으며 (1 ≤ N ≤ 10^5), 각각의 지점 i0으로부터 시계 반대방향으로 a_i의 거리에 있다 (0 ≤ a_i < L).

현재 정올이가 로봇을 배치할 수 있는 지점에 있으면 즉시 그 곳에 로봇을 배치할 수 있다.

모든 로봇 (초기 로봇 포함)은 시계 반대방향으로 K초마다 1단위를 이동하는 비율로 지속적으로 이동한다 (1 ≤ K ≤ 10^6).

정올이가 모든 로봇을 균형있게 배치하는 데 필요한 최소 시간을 계산하는 프로그램을 작성하시오.


입력

첫 줄에는 L, R, N, K가 주어진다.

다음 줄에는 N개의 정수 a_1, a_2, ..., a_N이 공백으로 구분되어 주어진다.


출력

정올이가 모든 로봇을 균형있게 배치하기 위한 최소 시간을 출력한다.


부분문제

번호 점수 조건
#14점

예제에 있는 데이터만 주어진다.

#26점

R=2

#320점

R≤10,N≤80

#430점

R≤16

#540점

추가 제한 없음


예제 #1

12 2 1 2
7
26

시계방향으로 이동하여 위치 7에 도달하기 위해 5초가 걸립니다.

이때 초기 로봇은 2.5에 위치해 있습니다.

초기 로봇이 1에 위치할 때까지 추가로 21초를 기다린 후 로봇을 배치하여 즉시 목표를 달성할 수 있습니다.


예제 #2

12 2 1 2
10
8

시계방향으로 이동하여 위치 10에 도달하기 위해 2초가 걸립니다.

이때 초기 로봇은 1에 위치해 있습니다.

6초를 더 기다린 후 초기 로봇은 4에 위치할 것이고, 그 순간 로봇을 배치하여 즉시 목표를 달성할 수 있습니다.


예제 #3

24 4 5 2
0 15 6 9 18
30
로그인해야 코드를 작성할 수 있어요.