읽기 쉬운 단어
면접 대비시간 제한2초메모리 제한256 MB
n개의 정수를 홀수와 짝수가 번갈아 오도록 다시 배열합니다. 이동 거리의 합을 최소로 하고, 그중 사전순으로 가장 작은 배열을 출력합니다.
문제
마르스 알파벳은 1부터 까지의 정수 개로 이루어져 있다. 홀수는 모음, 짝수는 자음이다. 단어는 이런 정수들의 수열이다.
단어에서 정수의 순서를 바꿔도 뜻은 달라지지 않지만, 발음은 달라진다. 단어에서 인접한 두 정수가 항상 모음 하나와 자음 하나로 이루어져 있으면, 그 단어를 읽기 쉬운 단어라고 부른다.
Vasya Pupkin은 화성에서 지구 요리 식당을 열려고 한다. 식당 이름을 만들려고 나무 정수 개를 샀고, 이를 1번부터 번까지 번호가 붙은 받침대 개 위에 한 줄로 놓았다. 받침대 에 놓인 정수를 라고 한다.
정수를 받침대 에서 받침대 로 옮기는 데 마르스 루블이 든다. 재배열하는 동안에는 한 받침대에 정수가 둘 이상 놓여도 되지만, 마지막에는 모든 받침대에 정수가 정확히 하나씩 놓여야 한다.
정수를 재배열해서 만든 읽기 쉬운 단어 중 비용이 가장 적은 것을 찾아라. 그런 단어가 여러 개라면 사전순으로 가장 앞선 것을 골라라.
같은 길이의 수열 가 수열 보다 사전순으로 작다는 것은, 어떤 가 존재해서 모든 에 대해 이고 인 것을 뜻한다.
입력
첫째 줄에 단어를 이루는 마르스 문자의 개수 이 주어진다 ().
둘째 줄에 문자 자체인 정수 가 공백으로 구분되어 개 주어진다 ().
해가 존재함이 보장된다.
출력
요구하는 읽기 쉬운 단어를 공백으로 구분된 정수 개로 한 줄에 출력한다.