최소 비용 증가 수열
시간 제한2초메모리 제한512 MB
|B_i - A_i|의 합이 최소가 되도록 수열 A를 순증가 정수 수열 B로 바꾸고, 그중 사전순으로 가장 작은 B를 출력한다.
문제
길이가 인 정수 수열 이 주어진다.
을 만족하는 정수 수열 가운데 을 최소로 만드는 것을 찾아야 한다. 의 모든 원소는 32비트 부호 있는 정수 범위 안에 들어간다.
합을 최소로 만드는 는 여러 개일 수 있다. 그중 사전순으로 가장 앞서는 것을 출력한다. 즉 을 될 수 있는 대로 작게 잡고, 그 값을 고정한 뒤 를 될 수 있는 대로 작게 잡는 식으로 정한다.
입력
첫째 줄에 이 주어진다. ()
둘째 줄에 이 공백으로 구분되어 주어진다. ()
출력
사전순으로 가장 앞서는 최적 수열 를 개의 줄에 한 원소씩 출력한다.
힌트
일 때 합의 최솟값은 이다. 이 값을 만드는 는 하나가 아니어서 의 합도 이다. 사전순으로 가장 앞서는 것은 이다.