배열 점수 최대화
면접 대비시간 제한2초메모리 제한1024 MB
V=K에서 시작해 N번의 연산( V를 추가하고 1 감소, 또는 V를 1 증가)을 하되 추가는 한 번 이상 하며, 배열 길이와 위쪽 중앙값의 곱이 최대가 되도록 만든다.
문제
초깃값이 양의 정수 인 변수 가 있다. 쿠는 초기에 원소가 없는 배열 에 아래의 연산을 총 번 수행하려고 한다.
-
번 행동과 번 행동 중 한 가지를 골라서 수행한다.
- 번 행동은 배열 뒤에 를 추가한 이후, 를 만큼 감소시킨다.
- 번 행동은 를 만큼 증가시킨다.
번 행동은 반드시 한 번 이상 수행해야 하며, 연산 중 가 음수가 될 수 있음에 유의하라.
배열 의 점수란 의 길이와 의 중앙값의 곱이다. 중앙값이란 의 길이를 이라고 할 때, 를 오름차순으로 정렬했을 때의 \lceil$$\frac{M}{2}$$\rceil번째 원소이다. 예를 들어 의 중앙값은 이고, 의 중앙값은 이다.
번의 연산을 마친 후, 배열 의 점수가 최대가 되도록 하고 싶다. 연산을 최적으로 할 때 얻을 수 있는 배열의 점수의 최댓값을 구해보자.
입력
연산의 횟수, 변수 의 초깃값을 의미하는 정수 , 가 공백으로 구분되어 주어진다.
출력
연산을 최적으로 할 때 얻을 수 있는 배열의 점수의 최댓값을 출력한다.
힌트
는 올림 함수로써 보다 크거나 같은 정수 중 최솟값을 의미합니다. 예를 들어 , 입니다.