열심히 일하는 중
시간 제한1초메모리 제한512 MB
매일 중요도가 가장 높은 일을 골라 전날 만족감의 절반을 더한 값을 출력하고, 그 일의 중요도를 M만큼 줄이며 모든 일이 끝날 때까지 반복한다.
문제
송이는 이번 학기에 할 일이 매우 많다. 개의 일 중 어떤 일부터 해야 할지 고민하던 중 송이에게 좋은 아이디어가 떠올랐다! 바로 해야 할 일 각각의 중요도를 산정하고, 중요도가 높은 일부터 하는 것이다. 송이는 하루에 하나의 일만 처리할 수 있으며, 일을 처리한 후 그 일의 중요도는 만큼 감소한다. 일의 중요도가 이하가 되면 그 일은 완료한 것으로 간주한다. 중요도를 일별로 산정하던 중 송이는 문득 일하면서 본인이 매일 느낄 만족감이 궁금해졌다. 오늘의 만족감은 전날의 만족감을 , 오늘 할 일의 중요도를 라 할 때 와 같다.
예를 들면 다음과 같다. 전날 송이의 만족도가 이고, 송이가 오늘 할 일의 중요도가 , 의 값이 라고 가정했을 때 송이가 오늘 느낄 만족감은 = 이 된다. 이후 송이가 오늘 한 일의 중요도는 만큼 감소해서 이 된다.
송이가 해야 할 일의 개수 , 일을 처리했을 때 감소하는 중요도 , 완료한 것으로 간주하는 중요도의 최댓값 가 주어진 후, 번 일이 가지는 중요도 가 입력으로 개 주어진다. 송이가 모든 일을 끝낼 때까지 며칠이 걸리는지, 그리고 모든 일을 끝낼 때까지 송이가 일별로 느낀 만족감을 한 줄마다 출력하자. 단, 첫날의 경우 전날의 만족감을 으로 간주한다.
입력
첫째 줄에 정수 , , 가 공백으로 구분되어 주어진다.
둘째 줄부터 개의 줄에 걸쳐 해야 하는 일의 중요도 정수 가 주어진다.
출력
첫째 줄에 송이가 일을 다 하기 위해 걸리는 날의 수를 출력한다.
둘째 줄부터 일을 끝내는 날까지 일별로 느낀 만족감을 한 줄씩 구분해 출력한다.
힌트
는 바닥함수로, 는 이하의 정수 중 가장 큰 정수를 뜻한다.