https://www.acmicpc.net/problem/19939
문제요약
- n개의 돌을 k개에 1개 이상 나눠담고
- 모두 다른 값이어야하고
- 최대값 - 최소값 차이가 적게
접근법
- x만큼 채워놓고 추가로 0 ... k - 1 채워놓는다는 생각으로 n에서 sum(0 ~ k-1)을 해서 접근했는데 굳이 그럴 필요가 없었음
- 바구니에 1, 2, ... k로 채운다고 생각하면 됨
- n으로 못채우면 => 채울 방법이 없음
- 채웠는데 남으면 => 남는 값을 k 개에 골고루 채울텐데
- 남는 값이 k로 나눠떨어지면 => 다 골고루 + a를 시키니까 차이는 k - 1
- k로 안 나눠떨어지면 => 높은 곳부터 채워야 중복이 안생길 테니까 차이는 k + 1 - 1 = k