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

29168번 - Разбиение на камеры 스페셜 저지다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB21150.000%

문제

Вчера вечером Человек-паук неплохо поработал --- поймал аж $n$ преступников! Но тюрьмы уже переполнены, и разместить их решили на авианосце Щита. Ник Фьюри лично решился распределить преступников по камерам.

Всего на авианосце есть $k$ камер для заключенных. Распределять преступников по камерам случайным образом Ник не хочет, поэтому он решил распределить всех преступников по камерам так, чтобы <<исключающее или>> числа людей во всех камерах было равно нулю. Более формально, Ник хочет в первую камеру отправить $a_1$ преступников, во вторую $a_2,ドル \ldots, в $k$-ю камеру он хочет отправить $a_k$ преступников так, чтобы выполнялись следующие условия:

  • $a_1+a_2+ \ldots +a_k=n$
  • $a_1 \oplus a_2 \oplus \ldots \oplus a_k=0,ドル где $\oplus$ --- иcключающее или

Также Ник понимает, что оставлять камеры пустыми не имеет смысла, поэтому все $a_i$ должны быть больше нуля.

Преступники уже готовят план побега, поэтому нельзя терять ни минуты. Помогите командиру авианосца как можно быстрее решить эту задачу!

입력

В первой строке входного файла даны два числа $n, k$ (1ドル \le n, k \le 100,000円$) --- количество преступников на корабле Щита и количество камер заключения соответственно.

출력

Если существует требуемое разбиение преступников по камерам, в единственной строке выходного файла выведите $k$ положительных чисел, $i$-е из которых означает количество преступников, которое нужно отправить в $i$-ю камеру заключения.

Если нужного разбиения не существует, в единственной строке выходного файла выведите -1. Если существует несколько разбиений, выведите любое.

제한

예제 입력 1

8 2

예제 출력 1

4 4

예제 입력 2

5 3

예제 출력 2

-1

노트

Исключающее или --- логическая операция, которая имеет следующую таблицу истинности:

  • 0ドル \oplus 0=0$
  • 0ドル \oplus 1=1$
  • 1ドル \oplus 0=1$
  • 1ドル \oplus 1=0$

<<Исключающее или>> чисел, состоящих из нескольких бит, считается побитово. Например, 2ドル \oplus 3=1,ドル 2ドル \oplus 5=7,ドル 5ドル \oplus 5=0$.

Более подробно про <<исключающее или>> можно почитать тут: https://ru.wikipedia.org/wiki/Сложение\_по\_модулю\_2

출처

Olympiad > Russian Olympiad in Informatics > Internet Olympiads in Informatics > 2014-2015 Season > February 14, 2015 B번

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

출처

대학교 대회

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

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