시간 제한메모리 제한제출정답맞힌 사람정답 비율
0.1 초 1024 MB90212145.652%

문제

브루의 창고에는 $1$ 이상 $10^9$ 이하의 맛을 가진 오렌지가 각각 $10^9$개씩 쌓여있다. 브루는 친구들과 같이 오렌지를 나눠 먹으려 한다.

브루는 친구를 총 $N$명 초대할 예정이다. $N$의 값은 아직 정해지지 않았다. $N$명의 친구들은 일렬로 서서 브루가 주는 오렌지를 한 개씩 받아간다. 브루는 아래와 같은 조건을 만족하도록 오렌지를 주고 싶다.

먼저 온 친구부터 차례로 $1$번, $2$번, $\cdots$, $N$번 친구라고 하자. 또한, $i$번 친구가 받은 오렌지의 맛을 $A_i$라고 하자. 이때,

  • $i<j$이고 $A_i < A_j$인 $(i, j)$는 $X$개이다.
  • $i<j$이고 $A_i > A_j$인 $(i, j)$는 $Y$개이다.

또한, 만약 위 조건을 만족하도록 오렌지를 나눠 주는 방법이 여러 가지인 경우 브루는 (오렌지를 최대한 아끼기 위해) 그 중 $N$이 가장 작은 방법을 고르려 한다. 브루의 조건을 만족하도록 친구들을 초대해 오렌지를 나눠주는 프로그램을 만들어 보자.

입력

첫 줄에 두 정수 $X$, $Y$가 띄어쓰기로 구분되어 주어진다.

출력

첫 줄에는 초대할 친구의 수 $N$을 출력한다.

둘째 줄에는 $N$명의 친구에게 나눠줄 오렌지의 맛 $A_1, A_2, \cdots, A_N$을 띄어쓰기로 구분하여 출력한다.

만약 가능한 방법이 여러 가지인 경우 $N$이 최소인 방법을 출력하고, 이마저도 여러 가지일 경우 $N$이 최소인 방법 중 아무거나 출력한다.

위 조건을 만족하는 $N \le 10^6$인 방법이 항상 존재함이 보장된다.

제한

  • $0 \le X, Y \le 10^9$
  • $X + Y > 0$
  • $A$의 각 원소는 $1$ 이상 $10^9$ 이하의 정수

서브태스크

번호배점제한
115

$0 < X + Y \le 10$

226

$Y = 0$

317

$A$의 모든 원소가 서로 다른 방법이 존재한다.

442

추가 제한 조건이 없다.

예제 입력 1

2 2

예제 출력 1

4
1 2 2 1

예제 입력 2

7 3

예제 출력 2

5
1 2 5 4 3

출처

Contest > BOJ User Contest > Orange Cup > Orange Cup J번

채점 및 기타 정보

  • 예제는 채점하지 않는다.