각 목적지 에 대해 를 그곳에 도착해야 하는 출발 막대기의 -기반 번호라고 하자. 로 시작한다. 원형을 펼쳐서 생각하면 에 의 배수를 더해 이동 거리를 표현할 수 있다.
인 두 지수가 있다면 에서 을 빼고 에 을 더해도 전체 이동 거리의 합은 변하지 않으며, 필요한 교차 횟수가 증가하지 않는다. 최대 와 최소 의 차이가 이하가 될 때까지 이 연산을 반복한다.
로 놓자. 인 두 경로 사이의 최소 교차 횟수는 다음 값의 절댓값이다.
여기서 는 조건 가 참이면 , 거짓이면 이다. 모든 에 대해 이를 더하면 정답이다. 음수 나눗셈에는 방향의 정수 나눗셈이 아니라 내림 나눗셈을 사용해야 한다.
최댓값과 최솟값을 매번 선택하면 한 지수가 두 번 조정될 수 없으므로 조정은 번 이루어진다. 각 조정에 , 교차 횟수 계산에 의 시간이 걸린다. 따라서 전체 시간 복잡도는 이고 추가 공간 복잡도는 이다.
Solution written by GPT6