ez_code   1년 전

문제

다낭과 다르토는 같은 반 친구입니다. 1부터 N까지 정수를 이용해 길이 N의 순열을 만드는 숙제가 있습니다. 다낭은 N개의 정수로 이루어진 순열 A를 만들어 숙제를 마쳤습니다. 다르토는 다낭의 숙제를 베끼고 싶지만, 다낭은 베낀 게 들키지 않도록 다르토가 살짝 바꿔 베끼기를 원합니다.

N개의 정수로 이루어진 두 순열의 차는 diff(A, B)로 나타내며 모든 i에 대해 Ai와 Bi의 차의 절댓값의 합입니다. 달리 말해, diff(A, B) = Σ|Ai − Bi| (1 ≤ i ≤ N)입니다. 다르토는 A와의 차가 최대인 N개의 정수로 이루어진 순열 B를 만들려고 합니다. 보다 엄밀하게 말하면, 그는 N개의 정수로 이루어진 모든 순열 B'에 대해 diff(A, Bmax) >= diff(A, B')가 되는 N개의 정수로 이루어진 순열 Bmax를 찾으려고 합니다.

다르토는 당신의 도움이 필요합니다! 숙제를 낸 선생님은 관대하므로, A와 B의 차가 최소 N이라면 N개의 정수로 이루어진 순열 B가 A와 다르다 판단하실 것입니다. 따라서, 당신은 diff(A, B) >= N인 N개의 정수로 이루어진 순열 B를 어느 것이든 만들기만 하면 됩니다.

물론 임의의 순열 A에 대해 N > 1이면 diff(A, Bmax) >= N임이 보장되므로 원한다면 Bmax를 만들어도 됩니다. N개의 정수로 이루어진 임의의 수열 A에 대해 답이 존재함 역시 보장됩니다. 가능한 답이 하나 이상이라면, 아무 거나 출력해도 됩니다.

입력

다낭의 순열의 크기를 나타내는 정수 N (2 <= N <= 100000)이 한 줄에 주어지며 입력이 시작됩니다. 다음 줄에 N개의 정수가 주어집니다: 이는 다낭의 수열에서 Ai(1 <= Ai <= N)를 나타냅니다. A의 모든 수가 서로 다름은 보장됩니다.

출력

한 줄에 diff(A, B) >= N인 N개의 정수로 이루어진 순열 B를 나타내는 N개의 정수를 (하나의 공백을 두고) 출력합니다. 다시 말하자면, 순열의 모든 원소는 서로 달라야 하며 1부터 N 사이여야 합니다. 

댓글을 작성하려면 로그인해야 합니다.