평균 구하기
시간 제한1초메모리 제한1024 MB
주어진 정수들의 평균을 1e-9 이내의 오차로 구하도록, 1000번 이하의 평균 연산을 구성하는 문제입니다.
문제
개의 정수가 주어질 때, 이들의 평균을 구하는 프로그램을 작성하려고 한다.
이를 위해 무한 정밀도의 실수를 저장하는 레지스터 개를 사용할 수 있다. 이 레지스터는 , , ..., 으로 이름이 매겨져 있다.
초기에 개의 정수는 , , , 에 저장되어 있다. 나머지 개 레지스터에는 이 저장되어 있다. 당신이 할 수 있는 연산은 다음과 같다.
- : 에 의 값을 덮어씌운다.
, , 가 다를 필요는 없다. 예를 들어, , , 는 과 의 평균을 구한 뒤 그 값을 에 저장하는 연산이다.
이 연산을 번 이하로 사용하여, 처음에 에 , , , 에 주어진 값의 평균을 저장하는 프로그램을 작성하고 싶다. 그러나 위 연산만으로는 정확한 평균을 구할 수 없다는 것을 증명할 수 있다. 따라서 이 문제에서는 정확한 값을 구하는 대신 절대 오차를 이하로 해야 한다.
처음에 , , , 에 저장된 수들은 모두 이상 이하의 정수임이 보장된다. 이 범위의 어떤 수가 들어오더라도 평균과 차이가 이하인 값을 구해야 한다.
입력
첫 번째 줄에 이 주어진다. ()
출력
첫 번째 줄에 프로그램이 수행할 연산의 수 을 출력한다. ()
다음 개의 줄에 프로그램의 연산을 나타내는 개의 수 , , 를 공백을 사이에 두고 출력한다. ()
프로그램이 개의 연산을 차례대로 수행했을 때, 에는 처음에 , , , 에 주어진 값의 평균과 차이가 이하인 값이 저장되어 있어야 한다. 이 최소일 필요는 없다.