조작
시간 제한1초메모리 제한1024 MB
인접한 두 학생의 점수에 같은 정수를 더하는 조작으로 최댓값과 최솟값의 차이를 최소로 만들고, 그 조작 순서를 출력한다.
문제
지민이의 반에는 명의 학생이 있습니다. 지민이의 반은 최근에 중간고사를 봤는데, 지민이는 우연히 각 학생들의 중간고사 점수를 입수하게 되었습니다. 번째 학생의 중간고사 성적은 입니다.
지민이는 평등을 매우 중요시하기 때문에, 이 점수들을 조작하여 점수의 최댓값과 최솟값의 차이를 최소화하고자 합니다. 이때, 한 번의 조작은 다음과 같은 과정으로 이루어집니다.
- 임의의 정수 와 인 정수 를 선택하여, 와 에 를 더한다.
성적은 음수가 될 수도 있습니다. 지민이를 도와 학생들의 성적을 회 이하로 조작하여 를 최소화하는 프로그램을 작성하세요.
입력
첫째 줄에 학생의 수 이 주어집니다.
둘째 줄에 학생들의 성적 , , , 이 띄어쓰기를 사이에 두고 주어집니다.
출력
첫째 줄에 조작을 통해 지민이가 달성할 수 있는 의 최솟값을 출력합니다.
둘째 줄에 최솟값을 달성하기 위해 필요한 조작의 횟수 을 출력합니다. 조작의 횟수를 최소화할 필요는 없습니다.
셋째 줄부터 번째 줄까지 두 정수 , 를 띄어쓰기를 사이에 두고 출력합니다. 이때 번째 줄에 출력하는 , 는 번째 조작이 와 에 를 더하는 시행이었음을 나타냅니다.
제한
입력은 다음 조건을 만족합니다.
출력은 다음 조건을 만족해야 합니다.
- . 회 이하의 조작으로 의 값을 최소화할 수 있음을 증명할 수 있습니다.
- 모든 출력에서 .
- 번의 조작을 하는 도중, 그리고 모든 조작이 완료된 후 인 모든 정수 에 대해 을 만족해야 합니다.
- 번의 조작이 모두 끝난 후에는 의 값이 첫째 줄에 출력한 값과 동일해야 합니다.
힌트
는 의 원소들 중의 최댓값을, 는 의 원소들 중의 최솟값을 뜻합니다.