N이 주어지면 b² ≥ N인 최소 b와 c = ceil(N/b)를 구해, 1이 b-1개, b가 c개인 정해진 배치를 출력한다.
쉬움3수학그리디구현아직 제출이 없습니다시간 제한1초메모리 제한512 MB약장수 강욱이는 오늘도 약을 판다. 화려한 언변으로 손님을 끌어모으는 강욱이에게 고민거리가 하나 있다.
단골 손님 동규는 매일 약을 1알 이상 N알 이하의 임의의 개수만큼 주문한다. 주문을 받은 강욱이가 약 상자에서 한 알씩 세어 꺼내다 보니 시간이 오래 걸렸고, 답답해진 동규는 매번 화를 냈다.
강욱이는 약을 빨리 건네줄 방법을 이렇게 정리했다. 여러 약 봉지에 알약을 나눠 담아 일렬로 늘어놓은 뒤, 동규가 k알을 달라고 하면 합이 정확히 k알인 연속한 구간의 봉지를 한 번에 집어 준다.
판매대에는 봉지를 최대 2000개까지만 일렬로 올려놓을 수 있다. 동규가 1 이상 N 이하의 어떤 수를 불러도 대응할 수 있도록 봉지를 배치하자.
첫 번째 줄에 동규가 한 번에 주문하는 약의 최대 개수 N (1≤N≤106)이 주어진다.
첫 번째 줄에 봉지의 개수 K (1≤K≤2000)를 출력한다. 두 번째 줄에는 왼쪽부터 순서대로 각 봉지에 담긴 약의 수를 공백 하나로 구분해 출력한다. 각 봉지에는 1알 이상 106알 이하의 약이 들어 있어야 하고, 1 이상 N 이하의 모든 수는 연속한 구간의 봉지 합으로 만들어져야 한다.
조건을 만족하는 배치는 여러 가지라서, 채점은 다음 규칙으로 만든 배치 하나만 정답으로 인정한다.