Mashmokh và những con số

Đề bài

Mô tả

Cho một dãy gồm n số nguyên phân biệt viết trên bảng. Người chơi thực hiện lần lượt các nước đi: ở mỗi nước đi, xoá đi hai số đầu tiên của dãy hiện tại và nhận số điểm bằng gcd của hai số vừa xoá. Người chơi dừng lại khi trên bảng còn ít hơn hai số. Ban đầu người chơi có 0 điểm.

Bạn cần chọn dãy ban đầu sao cho tổng điểm nhận được đúng bằng k. Mỗi số trong dãy phải là số nguyên dương không vượt quá 109.

Hãy tìm một dãy n số nguyên phân biệt a1,a2,,an thoả mãn, hoặc cho biết không tồn tại.

Dữ liệu vào

Một dòng duy nhất chứa hai số nguyên nk.

Dữ liệu ra

Nếu không tồn tại dãy thoả mãn, in ra 1.

Ngược lại, in ra n số nguyên phân biệt a1,a2,,an (mỗi số thoả 1ai109) cách nhau bởi dấu cách. Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Ràng buộc

  • 1n105
  • 0k108

Ví dụ

Input Output Giải thích
5 2 1 2 3 4 5 Có hai nước đi: xoá (1,2) được gcd=1, xoá (3,4) được gcd=1; số 5 còn lại không bị xoá. Tổng =2=k.
5 3 2 4 5 6 7 Xoá (2,4) được gcd=2, xoá (5,6) được gcd=1; tổng =3=k.
7 2 -1 Với n=73 nước đi, mỗi nước cho ít nhất 1 điểm nên tổng luôn 3>2. Không tồn tại dãy.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0