문제를 읽으면 , 600C4를 해야하는 것인가? 생각이 든다.
그러면
조합 공식에 따르면 이건데.
600! / 596! * 4!
내 생각에는 그냥 600! 599! 597! * 596! 이다.
즉 위의 시간복잡도와 동일하다.
-> 즉 완탐으로는 불가하다.
나열된 수를 오름차순으로 정렬한 후, 4개의 값을 추출해서
눈사람 2개를 만들고, diff 값 중에서의 최소값을 구하는문제다.
숫자를 입력해서 생각해봤다.
1) 1 100 100 200 이라고 한다면 diff 이니까.
(1 ,100) (100, 200) 보다는 (1, 200) (100,100) 선택하는 것이 최선이다.
2) 1 100 100 1000000 이라고 한다면
(1 ,1000000) (100 100) 이 최선이다.
결론
-> 가운데거를 따로 처리하는 것보다 가운데거를 합쳐서 큰 친구와
비교하는 차이를 구하는 정책에 있어서 최선이다.
끝 점 2개를 정해 눈사람1 만들고, 그 사이에 점들을 이용해서
눈 사람2를 만들어서 diff 구하는 방식으로 생각함.
처음에는 이렇게 생각했는ㄷ
굳이 복잡하게 하지말고, 순차적으로 해도 상관없을 듯 해서
이렇게 했다.