trang chủ / bài tập / cutemcute

Dãy m-cute

Đề bài

Mô tả

Cho số nguyên dương m. Một dãy số nguyên dương x1,x2,,xn được gọi là m-cute nếu với mọi chỉ số i thỏa mãn 2in, ta có

xi=xi1+xi2++x1+ri

với ri là một số nguyên dương nào đó thỏa 1rim.

Cho q truy vấn, mỗi truy vấn gồm ba số nguyên dương a, b, m. Với mỗi truy vấn, hãy xác định xem có tồn tại một dãy m-cute nhận a là phần tử đầu tiên và b là phần tử cuối cùng hay không. Nếu có, hãy đưa ra một dãy như vậy.

Có thể chứng minh rằng dưới ràng buộc của bài, nếu tồn tại dãy hợp lệ thì luôn tồn tại một dãy có không quá 50 phần tử.

Dữ liệu vào

  • Dòng đầu chứa số nguyên q — số truy vấn.
  • q dòng tiếp theo, mỗi dòng chứa ba số nguyên a, b, m mô tả một truy vấn.

Dữ liệu ra

Với mỗi truy vấn:

  • Nếu không tồn tại dãy m-cute hợp lệ, in ra -1.
  • Ngược lại, in ra một số nguyên k (1k50), sau đó là k số nguyên x1,x2,,xk (1xi1014) thỏa mãn x1=a, xk=b và dãy là m-cute.

Nếu có nhiều dãy hợp lệ, in ra dãy nào cũng được.

Ràng buộc

  • 1q103
  • 1a,b,m1014, ab

Ví dụ

Input Output Giải thích
2
5 26 2
3 9 1
4 5 7 13 26
-1
Truy vấn 1: dãy 5,7,13,26 hợp lệ vì 7=5+2, 13=7+5+1, 26=13+7+5+1 — các giá trị ri đều nằm trong [1,2]. Đây là một đáp án; chẳng hạn 5,6,13,26 cũng được chấp nhận.
Truy vấn 2: với m=1 và bắt đầu từ 3, dãy duy nhất tuân thủ là 3,4,8,16,, không chứa 9.
1
1 1 100000000000000
1 1 Dãy chỉ gồm một phần tử 1 thoả x1=a=b=1.

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