trang chủ / đề bài / goodarray

Mảng tốt

Đề bài

Mô tả

Một mảng các số nguyên không âm a1,a2,…,am được gọi là tốt nếu

a1+a2+⋯+am=2·(a1⊕a2⊕⋯⊕am),

trong đó ⊕ là phép XOR theo bit.

Ví dụ, mảng [1,2,3,6] là tốt vì 1+2+3+6=12=2·6=2·(1⊕2⊕3⊕6). Ngược lại, mảng [1,2,1,3] không tốt vì 1+2+1+3=7≠2=2·(1⊕2⊕1⊕3).

Cho mảng a1,a2,…,an. Hãy thêm nhiều nhất 3 phần tử vào cuối mảng để mảng trở thành tốt.

Các phần tử thêm vào không cần đôi một khác nhau và không cần khác các phần tử đã có. Bạn không phải tối thiểu hoá số phần tử thêm vào: nếu mảng đã tốt sẵn thì được phép không thêm gì cả. Có thể chứng minh rằng với các ràng buộc đã cho luôn tồn tại đáp án. Nếu có nhiều đáp án, in ra đáp án nào cũng được.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t là số bộ dữ liệu.
  • Mỗi bộ dữ liệu gồm hai dòng:
    • Dòng thứ nhất chứa số nguyên n là số phần tử của mảng.
    • Dòng thứ hai chứa n số nguyên a1,a2,…,an.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra hai dòng:

  • Dòng thứ nhất chứa số nguyên s là số phần tử bạn muốn thêm vào.
  • Dòng thứ hai chứa s số nguyên b1,b2,…,bs là các phần tử được thêm. Nếu s=0 thì dòng này để trống.

Ràng buộc

  • 1≤t≤10000
  • 1≤n≤105
  • 0≤ai≤109
  • 0≤s≤3 và 0≤bi≤1018
  • Tổng n trên tất cả các bộ dữ liệu không vượt quá 105

Ví dụ

Input Output Giải thích
3
4
1 2 3 6
1
8
2
1 1
2
6 18
2
8 16
2
0 2
Bộ 1: mảng [1,2,3,6] đã tốt sẵn nên in 0 và một dòng trống cũng được chấp nhận; đáp án minh hoạ thêm 6 và 18, cho mảng có tổng 36 và XOR bằng 18. Bộ 2: mảng [8,8,16] có tổng 32=2·16. Bộ 3: mảng [1,1,0,2] có tổng 4=2·2.
2
1
0
3
5 5 5
2
0 0
2
5 20
Bộ 1: mảng [0] đã tốt vì 0=2·0; thêm hai số 0 vẫn giữ mảng tốt. Bộ 2: mảng [5,5,5] có tổng 15 và XOR bằng 5; sau khi thêm 5 và 20 thì tổng là 40 và XOR là 20.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0