Kệ sách và phép AND

Đề bài

Mô tả

Trên một kệ sách cũ có n cuốn sách xếp thành một hàng, cuốn thứ i có giá ai.

Bạn cần chuyển toàn bộ số sách sang k kệ mới. Vì không muốn sắp xếp lại, bạn đặt một số cuốn đầu tiên lên kệ thứ nhất, một số cuốn kế tiếp lên kệ thứ hai, và cứ thế tiếp tục. Nói cách khác, dãy sách được chia thành k đoạn liên tiếp, mỗi đoạn ứng với một kệ. Mỗi kệ phải chứa ít nhất một cuốn sách.

Giá trị của một kệ là tổng giá của các cuốn sách nằm trên nó. Độ đẹp của cách sắp xếp là phép AND nhị phân (bitwise AND) của giá trị k kệ.

Hãy tìm độ đẹp lớn nhất có thể đạt được.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nk — số cuốn sách và số kệ.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an — giá của các cuốn sách theo thứ tự trên kệ cũ.

Dữ liệu ra

  • In ra một số nguyên duy nhất là độ đẹp lớn nhất có thể.

Ràng buộc

  • 1kn50
  • 0<ai<250

Ví dụ

Input Output Giải thích
10 4
9 14 28 1 7 13 15 29 2 31
24 Chia thành (9+14+28+1+7) & (13+15) & (29+2) & (31) = 59 & 28 & 31 & 31 = 24.
7 3
3 14 15 92 65 35 89
64 Chia thành (3+14+15+92) & (65) & (35+89) = 124 & 65 & 124 = 64.

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 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