개발 블로그
article thumbnail
16208번. 귀찮음
Algorithm/백준 알고리즘 2023. 10. 26. 13:51

아이디어 a1 + ... + an = S 라고 할 때 이를 두 개의 막대로 자르면 K, S - K 인 막대가 되며 이 때의 비용은 K(S-K) 이다. K 를 어떻게 결정할 것인지의 문제이므로 이를 K 에 대한 2차 함수라고 생각하면 계수가 음수이므로 K 가 최소 또는 최대가 될 때 비용 또한 최소가 된다. 이는 곧 두 개의 막대로 자를 때 최소한의 비용을 사용하는 방법은 a1 ~ an 중 가장 작은 막대의 길이만큼 자르는 것이라는 의미이다.(더 작게 자르면 현우가 원하는 막대를 모두 만들 수 없음) 따라서 a1 ~ an 이 오름차순 정렬됐다고 가정할 때 a1 * (a2 + ... + an) 이 막대를 둘로 자르는 최소 비용이 되는 것이다. 한 번 막대를 잘라서 a1 을 얻었다면 (a2 + ... + an..