해결한 사람
0
명
정답률
0.00
%
시간 제한
2000
ms
메모리 제한
245
MB
당신은 머릿속에 역사상 가장 멋진 모래성을 짓겠다는 생각을 품고 해변으로 가고 있다! 해변은 상상했던 것만큼 삼차원적이지 않으며, 모래 기둥을 쌓을 지점들이 늘어선 선으로 나타낼 수 있다. 지점에는 왼쪽에서 오른쪽으로 1부터 무한대까지 번호가 매겨져 있다.
물론 해변에는 모래가 충분하지 않으므로, 모래 n팩을 가져왔다. 어떤 지점 i에 있는 모래 기둥의 높이 hi를 그 기둥에 사용한 모래 팩의 수라고 하자. 하나의 모래 팩을 여러 기둥에 나눠 쓸 수 없으며, 그 안의 모래는 모두 하나의 기둥에 사용해야 한다. 첫 번째 지점의 왼쪽에는 모래 H팩으로 만든 기둥의 높이와 같은 높이의 울타리가 있으며, 모래가 그 너머로 넘어가지 않게 해야 한다.
최종적으로 성을 짓기 위한 조건은 다음과 같다.
에 대해 |hi - hi + 1| ≤ 1: 이웃한 두 기둥의 높이 차이가 크면 높은 기둥에서 낮은 기둥으로 모래가 흘러내릴 수 있으며, 이런 일은 반드시 피하고 싶다.
: 가져온 모래를 모두 사용하고 싶다.성을 지을 지점은 무한히 많으므로, 조건을 만족하는 성의 구조를 항상 만들 수 있다. 하지만 성을 가능한 한 조밀하게 만들고 싶다.
위의 모든 조건을 만족하면서 차지할 수 있는 지점 수의 최솟값을 구한다.
유일한 줄에 두 정수 n와 H (1 ≤ n, H ≤ 1018)가 주어진다. 각각 가지고 있는 모래 팩의 수와 울타리의 높이이다.
성을 짓는 모든 조건을 만족하면서 차지할 수 있는 지점 수의 최솟값을 출력한다.
5 2
3
6 8
3
조건을 만족하는 몇 가지 성의 높이는 다음과 같다.
두 경우 모두 첫 번째 목록이 최적의 답이며, 각각 3개의 지점을 차지한다.
다음은 조건을 만족하지 않는 몇 가지 예이다.