Problem Solving
boj 2792 : LJUBOMORA
1ssrek
2016. 8. 18. 16:40
boj 2792 : LJUBOMORA
https://www.acmicpc.net/problem/2792
DP로 풀릴 수 있는가 보느라 한참을 고민했다.
하지만 의외로 간단하게 풀릴 수 있었음...
[1 ~ 가장 많은 보석 수]에서 이분 탐색으로 찾는다.
만약 보석을 적게 나눠준다면 모든 보석을 털 수 없다.
보석을 모두 털 수 있는 최소 갯수가 정답.
예제의
5 2
7
4
이 경우, 2개씩 나눠주면, 2 2 2 1 2 2로 6명이 있어야 하므로 모든 보석을 털 수 없다.
3개씩 나눠주면 3 3 1 3 1로 5명에게 털 수 있다.
따라서 5명에게 나눠주면 모든 보석을 털 수 있는 최소 보석수는 3개이다.
이 방법으로 해결하면 시간복잡도는 MlogM