Logo
(追記) (追記ここまで)

31927번 - 렬정! 렬정! 렬정! 스페셜 저지

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB45120016744.772%

문제

원소의 순서만 바꾸던 기존 정렬 알고리즘을 공부하던 민석이는 모든 게 부질없음을 깨닫고 원소의 값을 바꿔서 정렬해 버리기로 했다.

길이 $N$의 배열 $A$가 주어진다. 아래의 연산을 0ドル$번 이상 $\left\lfloor\frac{N}{2}\right\rfloor$번 이하로 사용하여 배열 $A$의 모든 원소가 내림차순이 되도록 만들어 보자. 여기서 내림차순이란, 1ドル$ 이상 $N-1$ 이하의 모든 정수 $i$에 대하여 $A_{i}\geq A_{i+1}$을 만족하는 상태를 말한다.

  • 1ドル\leq i,j\leq N$를 만족하는 서로 다른 두 정수 $i$와 $j$에 대하여 0ドル<x\leq 10^6$를 만족하는 정수 $x$를 선택하여 $A_{i}$에 $x$를 더하고, $A_{j}$에 $x$를 뺀다.

입력

첫 번째 줄에 배열 $A$의 길이를 나타내는 정수 $N$이 주어진다. (1ドル\leq N\leq 100$)

두 번째 줄에 $A$의 원소 $N$개가 공백으로 구분되어 주어진다. $A$의 모든 원소는 1ドル$ 이상 5ドル,000円$ 이하의 정수이다.

출력

첫 번째 줄에 연산을 사용한 횟수 $K$를 출력한다. $K$가 최솟값일 필요가 없음에 유의하자.

이후 $K$개의 줄에 걸쳐 각 연산이 완료된 배열 $A$의 각 원소를 한 칸의 공백으로 구분하여 출력한다.

가능한 답이 여러 가지라면 그중 아무거나 출력한다.

만약 연산을 0ドル$번 이상 $\left\lfloor\frac{N}{2}\right\rfloor$번 이하로 사용하여 배열 $A$를 내림차순으로 만들 수 없다면, 첫 번째 줄에 -1을 출력한다.

제한

예제 입력 1

5
30 70 50 60 10

예제 출력 1

1
80 70 50 10 10

4ドル$번째 원소에서 50ドル$을 빼서 1ドル$번째 원소에 더한다.

예제 입력 2

4
1 1 1 1

예제 출력 2

2
2 1 1 0
3 1 1 -1

예제 입력 3

4
1 2 3 4

예제 출력 3

2
6 2 -2 4
6 2 2 0

노트

$\left\lfloor x \right\rfloor$는 $x$를 초과하지 않는 가장 큰 정수를 말한다. 예를 들어 $\left\lfloor 2.5 \right\rfloor=2$이고, $\left\lfloor 3 \right\rfloor=3$이다.

출처

University > 아주대학교 > 2024 아주대학교 프로그래밍 경시대회 APC > Div.2 F번

University > 아주대학교 > 2024 아주대학교 프로그래밍 경시대회 APC > Open Contest F번

University > 성균관대학교 > 2024 성균관대학교 프로그래밍 경진대회 with APC D번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /