Saya sebenarnya tidak punya solusi, tetapi di sini ada beberapa ide yang muncul.
Jika Anda melihat hasil XORing semua angka dalam urutan, yang memberi batas atas jumlah penambahan yang perlu Anda lakukan. Misalnya, dalam contoh Anda10,4,5,1, kita punya 10⊕4⊕5⊕1=10, jadi Anda tahu Anda tidak perlu menambahkan lebih dari 8(karena 8-bit adalah set tertinggi). Mendistribusikan hingga delapan "yang" didistribusikan empat cara, adalah satu set kombinasi yang cukup kecil. Saya tidak ingat formula itu selarut ini, tapi adan! di suatu tempat di sana.
Untuk memberikan landasan itu sedikit lebih banyak landasan, pertimbangkan bilangan bulat sewenang-wenang A,B seperti yang A⊕B=8. Bit yang lebih tinggi dari bit 3 jelas semua dibatalkan, sehingga Anda dapat mengabaikannya. Untuk empat bit yang lebih rendah, mereka XOR ke 8, jadi kasus terburuk yang mungkin (dalam hal jumlah yang Anda perlu tambahkan) adalah jika A=8 dan B=0(semua nol kecuali untuk bit tertinggi) karena Anda harus menambahkan +8 ke B untuk mendapatkan set bit atas. Jika ada salah satu bit di dalam salah satu nomor, Anda perlu menambahkan kurang.
Mungkin Anda bisa mulai dari ini, dan mengembangkan jumlah maksimum yang lebih ketat untuk ditambahkan.