홍수
시간 제한1초메모리 제한64 MB
주어진 탐욕 절차대로 순열 히스토그램을 만들어 갇힌 물 용량이 X가 되게 하고 실패하면 -1을 출력합니다.
문제
남남서는 큰 홍수가 나서 자기 히스토그램이 물에 잠기는 꿈을 꿨다.
너비가 인 열 개가 왼쪽부터 나란히 붙어 있는 히스토그램이 있고, 번째 열의 높이는 이다. 각 열 위에 고인 물의 높이를 이라고 하자. 다음 세 조건을 모두 만족하면 물이 넘치지 않는다.
- 이고 이다.
- 인 모든 에 대해 이다.
- 인 모든 에 대해 이다.
히스토그램의 용량은 물이 넘치지 않는 의 최댓값이다.
높이 이 부터 까지의 수를 한 번씩 쓴 순열이면서 용량이 정확히 인 히스토그램을 찾아라.
입력
첫째 줄에 자연수 과 가 공백으로 구분되어 주어진다. (, )
출력
용량이 정확히 인 순열은 여러 개일 수 있으므로, 다음 절차가 만드는 순열 하나만 정답으로 인정한다.
- 로 두고, 빈 목록 에서 시작한다.
- 를 부터 까지 씩 줄이면서, 이면 를 에 넣고 에서 를 뺀다. 이면 이 과정에서 아무 것도 하지 않는다.
- 이 과정을 마쳤을 때 이면 첫째 줄에 만 출력한다.
- 이면 , 에 들어간 수를 오름차순으로, , 부터 까지의 수 중 에 없는 수를 내림차순으로 이어 붙여 공백으로 구분해 한 줄에 출력한다.
이 절차가 을 내놓는 입력은 용량이 인 순열이 아예 없는 입력과 정확히 같고, 그렇지 않으면 절차가 만든 순열의 용량은 항상 이다.