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

29149번 - A→B 스페셜 저지

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

문제

집합 $A$와 집합 $B$가 있고, 여기에 1ドル$부터 $N$까지의 정수를 각각 집합 $A$ 또는 $B$에 넣으려고 한다. 초기에 집합 $B$에는 정확히 $M$개의 수를 넣어야 하고, 넣은 수가 연속해서는 안 된다. (즉, $x \in B$인 모든 $x$에 대하여 $x + 1 \notin B$를 만족해야 한다.)

이제, 다음과 같은 작업을 원하는 만큼 수행하여 집합 $A$에 정확히 하나의 수만 남기고자 한다.

  • 연속한 세 수 $x, y, z$에 대해 (즉, $y = x + 1;$ $z = y + 1$)
    • 집합 $A$에 $x, y$가, 집합 $B$에 $z$가 존재한다면, $x, y$를 집합 $B$로, $z$를 집합 $A$로 이동할 수 있다.
    • 집합 $A$에 $y, z$가, 집합 $B$에 $x$가 존재한다면, $y, z$를 집합 $B$로, $x$를 집합 $A$로 이동할 수 있다.

위 작업을 적절히 수행해 집합 $A$에 정확히 하나의 수만 남길 수 있도록 초기에 집합 $B$에 $M$개의 수를 넣는 것이 가능하다면, 초기에 집합 $B$에 넣을 수 $M$개를 출력한다. 초기에 집합 $B$에 수를 어떻게 넣어도 적절한 작업을 통해 집합 $A$에 수를 정확히 하나만 남기도록 하는 것이 불가능하다면 “-1”을 출력한다.

입력

첫 줄에 정수 $N$과 초기에 집합 $B$에 넣을 수의 개수 $M$이 공백으로 구분되어 주어진다. $(5 \leq N \leq 1,000円,000円;$ 1ドル \leq M \leq \lceil{\frac{N}{2}}\rceil - 1)$

출력

집합 $A$에 정확히 하나의 수만 남길 수 있도록 초기에 집합 $B$에 $M$개의 수를 넣는 것이 가능하다면, 첫 줄에 $M$을 출력하고 둘째 줄에 집합 $B$에 처음 넣어야 할 수 $M$개를 공백으로 구분하여 출력한다. 가능한 답이 여러 가지라면 그중 아무거나 출력한다.

그러한 초기 집합 $B$가 없다면, 첫 줄에 “-1”을 출력한다.

제한

예제 입력 1

5 2

예제 출력 1

2
1 3

예제 입력 2

6 1

예제 출력 2

1
2

예제 입력 3

11 1

예제 출력 3

-1

힌트

출처

University > 신촌지역 대학생 프로그래밍 대회 동아리 연합 > 2023 신촌지역 대학생 프로그래밍 대회 동아리 연합 여름 대회 (SUAPC 2023 Summer) A번

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

출처

대학교 대회

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

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