ページが読み込まれませんか? こちらをクリックすると直るかもしれません。
Placeholder

#7078
サブタスク

균형 배치 5s 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

出典

USACO 2024 US Open Platinum 3번

ログインしないとコードを書けません。