[BOJ] 12982번: 공 포장하기 2

https://www.acmicpc.net/problem/12982


각 박스에 공이 K개 이상이라면 K개 미만이 될 때 까지 일단 K개씩 계속 빼줍니다. 그렇게 된 다음에 남은 갯수를 봅시다. 예를 들어 K = 5이고 1 1 2 0 4 가 남았으면 4는 4를 묶음으로 처리하고 남은 1 1 2는 서로 다른 공을 넣는 방식으로 박스 2개를 사용해 처리할 수 있습니다. 어디까지 묶음으로 처리하고 어디까지 서로 다른 공을 넣는 방식으로 처리할지 $O(K)$에 걸쳐 찾아보면 됩니다. 수학적으로 엄밀하게 증명한건 아니지만 이것보다 더 작게할 수 있는 방법이 있다면 모순이 있다는 방식으로 유도할 수 있을 것 같습니다.


https://github.com/blisstoner/BOJ/blob/master/12982.cpp

'알고리즘 > BOJ' 카테고리의 다른 글

[BOJ] 16139번: 인간-컴퓨터 상호작용  (0) 2018.09.15
[BOJ] 1042번: 움  (0) 2018.09.15
[BOJ] 3648번: Idol  (0) 2018.09.06
[BOJ] 3090번: ŽIVICA  (0) 2018.09.05
[BOJ] 3079번: AERODROM  (0) 2018.09.04
[BOJ] 2792번: LJUBOMORA  (0) 2018.09.04
  Comments